Python 开发面试总结


网络基础

  • 如何确定发送过来的数据的完整性(有无中间人攻击)?

散列值校验(MD5SHA-1)、数字签名(PGP),需要用户亲自校验,若是散列值或数字签名本身被篡改,用户是无法判断出来的。

HTTPS安全通信机制中,应用层发送数据时会附加MAC报文摘要,可以查知报文是否被篡改。

  • HTTP 有哪些方法?

GET:获取资源

POST:传输实体主体

PUT:传输文件

HEAD:获得报文首部

DELETE:删除文件

OPTIONS:询问支持的方法

TRACE:追踪路径

CONNECT:用隧道协议连接代理

  • RESTful GET/POST/PUT 的区别是什么?

获取/创建/修改 资源

  • time wait 的原因? 一次HTTP请求的过程是什么? DNS 原理是什么?协议上怎么确定收到了请求?

原因:https://blog.csdn.net/u013616945/article/details/77510925

实现TCP全双工连接的可靠释放、使旧的数据包在网络因过期而消失

DNS:域名系统,是一个分布式、层次的数据库

  • ApacheNginx的优缺点比较。

nginx:异步非阻塞、静态处理能力强

apache:同步多进程、动态能力强

数据结构

  • 介绍 MySQL 的索引以及索引设计。

聚集与非聚集、左前缀原则等

  • Hash 表数据结构是怎样的?拉链法、开址法的优缺点以及rehash过程。

根据key直接访问内存存储位置的数据结构

https://blog.csdn.net/mark555/article/details/22038151/


操作系统

  • Unix 进程有哪些通信方式?

共享内存、消息传递

  • 一条Linux指令统计文件目录下文件数。

https://blog.csdn.net/quincuntial/article/details/54943351/


编程语言

  • Python 可变与不可变数据类型的差异。

  • Python 中元类的使用经验。

  • Python 实现一个字典类。

  • Python 函数传值还是传址?


项目设计

  • 爬虫中,url 越来越多,怎么去重?

https://www.jianshu.com/p/d23741865521/

  • 从服务器日志中,统计访问次数最多的IP

https://blog.csdn.net/luyaran/article/details/54136227/


学习方法:

Python cookbookeffective PythonJava 核心技术、C 语言程序设计

编程珠玑,数据结构与算法分析

编码、深入理解计算机系统

图解 HTTP、计算机网络:从顶到下

Flask web 开发、精通 Scrapy 网络爬虫

高性能 MySQLRedis 设计与实现

博客、文档、google、问答网站

网易云课堂视频


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM