Python面试

网络基础

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

散列值校验(MD5、SHA-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 cookbook,effective Python,Java 核心技术、C 语言程序设计

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

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

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

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

高性能 MySQL,Redis 设计与实现

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

网易云课堂视频

posted @ 2019-09-15 13:52  HelloBaby!  阅读(177)  评论(0编辑  收藏  举报