22天试水Python社招,历经“百度三面+FunPlus+字节一面+AIBEE+天融二面+Ihandy...”

1,023 阅读9分钟

正值金三银四的春招高潮,近期有太多太多的Python小伙伴不是在准备面试就是在去面试的路上。同时,我也趁着这段空窗期,22天试水Python社招后端开发,历经了百度、字节、天融信、FunPlus、AIBEE、Ihandy等6家,并顺道整理了这些面经以作分享,大家也可一起来试个水!

全文篇幅过长,但都是干货,整个文章结构如下:

  • 百度面经
  • 字节面经
  • 天融信面经
  • FunPlus面经
  • AIBEE面经
  • Ihandy面经
  • 如何从0准备Python面试+从0如何学Python?(文末 细说)

01 百度(Python基础+网络+Linux+MySQL+算法)

百度.png

一:Python基础
1. Python基本数据结构有哪些
2. Python数据类型间的互转,举例子
3. 数组的遍历和切片
4. 有序字典
5. 迭代器,优缺点
6. initnew的区别
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

02 字节跳动(抖音一面)

字节跳动.png

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. 无重复字符的最长子串;给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

03 天融信(一面+二面)

天融信.png

3.1 天融信一面

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新式类和旧式类区别

3.2 天融信二面

1. 个人技术优势
2. 用过那些数据分析的Python库
3. 有两个集合a, b,只有两种类型0,1,集合长度一样,找到集合位置相同且元素一样的个数是多少
4. 文件操作,如果文件特别大如何读
5. 顺序和链式结构的优势
6. 排序方法有哪些,阐述快排及时间复杂度,是否可以用递归写,用递归有什么风险
7. 如何理解内存溢出和内存泄漏
8. 根据树的前序和后序遍历是否能定义一棵树
9. HTTP1.0和HTTPS区别
10. HTTP协议通讯的机制和原理
11. 面向对象概念,Python在面向对象上的体现

04 FunPlus(一二三+HR面)

由于FPX到终面均没有录音,以下只体现与其他公司不同的问题

FunPlus.png

1. Django对HTTP请求的执行流程
2. Django前后端分离跨域如何解决?
3. Django如何处理CSRF攻击
4. Django ORM判断模型某属性是否存在用什么方法?(此外考察了ORM中filter下的几种方法)
5. 自动化运维相关
6. F查询和Q查询
7. 总监面思路题:你的房间能放下多少个乒乓球

05 AIBEE(只记录与其余公司不同问题)

AIBEE.png

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]

06 Ihandy

Ihandy.png

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框架了解吗

07 总结:如何从0准备Python面试+从0如何学Python?

以上6家皆是三月份参加的部分社招面经,其实在面试中的题目也大同小异,但务必记住一点:基础知识的八股文必须要背下的

  • 像基础这一块,面试的话,可刷刷这份**《300题的Python面试(附解析)》**从0基础一步一步进阶;

300题的Python面试(附解析).png

  • 除去面试,还有**《100道Python练手题目(附源代码)》**可自己动手练习一下手感;

100道Python练手题目(附源代码).png

  • 如果还不清楚自己如何从0开始一步一步学习python,我用xmind手绘了一份:《Python 0基础 → Python全栈工程师学习路线大纲(必备)》

Python 0基础 → Python全栈工程师学习路线大纲(必备).png

  • 《Python编程:从入门到实践》:帮助迅速掌握编程概念,打下坚实的基础

Python编程:从入门到实践.png

Python编程:从入门到实践.png

  • 算法这一块,可刷刷看这本**《Python算法教程_中文版》,此pdf书籍:主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释**等内容。且每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的最后,给出了练习题的提示,方便读者进行查漏补缺。

Python算法教程_中文版.png

  • 如需深度学习,那就刷**《Python 深度学习》**

第一部分 深度学习基础
第1章:什么是深度学习
第2章:神经网络的数学基础
第3章:神经网络入门
第4章:机器学习基础

第二部分 深度学习实践
第5章:深度学习用于计算机视觉
第6章:深度学习用于文本和序列
第7章:高级的深度学习最佳实践
第8章:生成式深度学习
第9章:总结

Python 深度学习.png

点到为止,今天的分享就到这里结束,篇幅已太长,而要分享说的东西也实在是太多了,小编就不在一一列举了,源文件