正值金三银四的春招高潮,近期有太多太多的Python小伙伴不是在准备面试就是在去面试的路上。同时,我也趁着这段空窗期,30天试水Python社招后端开发,历经了百度、字节、天融信、FunPlus、AIBEE、Ihandy等6家,并顺道整理了这些面经以作分享,大家也可一起来试个水!
全文篇幅过长,但都是干货,整个文章结构如下:
注:文末有仔细分享我对Python面试+学习所整理的 “相关路线xmind+0基础练手项目(附源码)+300面试专题(含解析)+从0学python必备的笔记pdf” 等等,如若有需要学习的皆可免费分享,私信我口令【py】即可!
一:Python基础
1. Python基本数据结构有哪些
2. Python数据类型间的互转,举例子
3. 数组的遍历和切片
4. 有序字典
5. 迭代器,优缺点
6. __init__和__new__的区别
7. 面向对象的特性、Python中如何体现面向对象
8. pass语句
9. Python2和Python3的区别,编码上的区别
10. Python可变和不可变数据类型
11. lambda匿名函数
12. 思路题:数据的去重和排列组合方法,内置类库
13. 正则匹配需要哪几个关键步骤
14. 场景:如何匹配邮箱和手机号码
15. 场景:匹配pattern为多种数据类型组合的情况
16. 异常处理try except finally 介绍
17. 数组深浅拷贝
18. python内置库
19. 在python中直接执行命令行语句有什么方法
20. python2编码重置编码使用哪个库
21. python传参*args和**kwargs,传值和传引用的区别
22. with open 和open打开文件区别,怎么选择
23. Python中在字典中如何按键和值排序
24. [1,2,3]+[4,5,6]结果
25. Python运行效率较低,如何提效。并行:多线程和协程、多进程和进程池;语句上调优:在for前加条件判断
二:MySQL相关
26. 事务的特性
27. 索引的数据结构,如何挑选比较合理
28. 查询优化的场景
三:Linux
29. 文件管理、磁盘管理、系统管理中的常用命令
30. 查看内存、网络端口、磁盘容量的命令
31. log日志做分组统计或关键数据的筛选可以使用哪些命令;grep、awk(大量文本数据处理比较快的方式)
四:网络相关
32. TCP和UDP
33. 两者的使用场景
五:算法题:(如流在线编程)
34. 最长不含重复字符的子字符串
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3
1. 项目相关
2. cookie和seesion做了什么区别是什么?cookie有哪些属性?安全性上、有效期属性?
3. cookie是怎么划分的,假如有A、B两个web站点,它们的cookie是共享的吗?有办法共享吗?
4. session有哪些实现,如何存session,分布式后端的若干个节点如何确定拿到同一个session,如何做存储?(如何保证负载均衡后的机器都能取到session)
5. HTTP状态码:301和302有什么区别,404、400、403、500、502、504
6. 浏览器输入网址到加载出页面经历了哪些网络请求过程?
7. DNS解析迭代查询和递归查询区别?
8. 局域网环境中请求包如何转发?如何传递出去?路由选择怎么做的(ARP)?
9. TCP和UDP区别?TCP协议中哪些机制可以保证可靠性?
10. 常用负载均衡调度的方案和算法?
11. web站点如何限流到10000qps?用令牌桶算法实现的具体思路
12. 了解哪些常用的RPC框架?
13. Python中如何定位内存泄漏问题?
14. Mysql中事务的概念?事务一致性中保证数据完整性如何理解?
15. 隔离级别有哪几种?由低到高的不同隔离级别加强的机制是什么?
16. where和having区别?
17. 算法:力扣3. 无重复字符的最长子串;给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
1、是否有用过ES和Kalfka,是否写过demo
2、项目相关:开发框架、数据库、是否前后端分离
3、Mysql事务相关
4、是否用过DFS文件服务器
5、缓存Redis用过哪些数据类型,常用哪些,在项目中用了哪些
6、是否了解Redis bigkeys
7、有关注过Redis6.0吗
8、Django的MTV和MVC有什么区别
9、ORM到Mysql之间,ORM替你做了哪些操作
10、Mysql的主备原理,是否实际用过
11、在主备条件下,请求发出去后,Mysql突然挂了会发生什么
12、Linux查看磁盘空间命令、查网络端口状态
13、是否做过Linux IPC相关
14、 三次握手四次挥手
15、有了解过服务器TIME_WAIT和CLOSE_WAIT区别吗
16、Python装饰器、闭包。两者关系
17、深拷贝和浅拷贝,如何查看区别
18、Python垃圾回收机制
19、用过哪些线程和并发的库,gevent和asyncio理解,项目中是否用到
20、常用检索搜索引擎
21、Django中间件用过哪些
22、Django的F实例和Q实例
23、Django的CSRF是否了解过,工作原理是什么
24、Nginx有用过吗
25、项目部署方式,是否有进行持久化
26、如何理解PEP8
27、Python的类型注解是否用过
28、Python新式类和旧式类区别
1. 个人技术优势
2. 用过那些数据分析的Python库
3. 有两个集合a, b,只有两种类型0,1,集合长度一样,找到集合位置相同且元素一样的个数是多少
4. 文件操作,如果文件特别大如何读
5. 顺序和链式结构的优势
6. 排序方法有哪些,阐述快排及时间复杂度,是否可以用递归写,用递归有什么风险
7. 如何理解内存溢出和内存泄漏
8. 根据树的前序和后序遍历是否能定义一棵树
9. HTTP1.0和HTTPS区别
10. HTTP协议通讯的机制和原理
11. 面向对象概念,Python在面向对象上的体现
由于FPX到终面均没有录音,以下只体现与其他公司不同的问题
1. Django对HTTP请求的执行流程
2. Django前后端分离跨域如何解决?
3. Django如何处理CSRF攻击
4. Django ORM判断模型某属性是否存在用什么方法?(此外考察了ORM中filter下的几种方法)
5. 自动化运维相关
6. F查询和Q查询
7. 总监面思路题:你的房间能放下多少个乒乓球
1. Python数据结构
2. set集合操作方法
3. 字典操作:合并字典、遍历字典
4. 正则匹配IP地址
5. Linux查看磁盘命令
6. Linux下查找日志中带有“test”字段的
7. Linux下部署项目
8. 除了runserver还有什么方法启动Django
9. mysql数据库:有3个表,user表(id, name)group表(id, name)user_group表(user_id, group_id),其中 user_id和group_id 为外键,编写SQL,输出 user.id 为1的group.name是哪些?
10. 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
1. 项目相关
2. Python中的yield关键字,和return相比有什么好处?
3. Python异步编程,Asyncio基本语法,使用Asyncio遇到过哪些问题
4. 解释下WSGI,什么时候会用到
5. 项目中web服务器是用什么实现的
6. 解释下Django的MTV框架
7. 解释下HTTP协议
8. 传输层有哪些协议,TCP和UDP各自优缺点
9. 三次握手过程,为什么三次
10. 介绍下restful API,举例说明restful接口如何设计:修改用户头像
11. 职业规划
12. 介绍下数据库三范式
13. 讲讲数据库的事务、索引
14. B+树和B树相比有什么特点,B+树范围查询有什么优势
15. Flask框架了解吗
以上6家皆是三月份参加的部分社招面经,其实在面试中的题目也大同小异,但务必记住一点:基础知识的八股文必须要背下的,
300题的Python面试(附解析)
100道Python练手题目(附源代码)
Python 0基础 → Python全栈工程师学习路线大纲(必备)
第一部分 深度学习基础
第1章:什么是深度学习
第2章:神经网络的数学基础
第3章:神经网络入门
第4章:机器学习基础
第二部分 深度学习实践
第5章:深度学习用于计算机视觉
第6章:深度学习用于文本和序列
第7章:高级的深度学习最佳实践
第8章:生成式深度学习
第9章:总结
点到为止,今天的分享就到这里结束,篇幅已太长,而要分享的东西也实在是太多了,小编就不在一一列举了,各位Python小伙伴们,如需下载我在本文所涉及的全部的Python面试+学习资源等,皆可100%免费发送给你!