Python开发面试总结复盘
最近跳槽了,趁着清明假期,把自己最近的跳槽面试经历做个总结复盘一下。
时间准备:23年12月底,总计两个月的准备,包括简历修改、笔试准备以及项目和话术的知识储备。
开始时间:24年2月底,总计两周时间。
收获:5+个offer
投递方向:Python开发(面向AI方向,随着23年GPT4的横空降临,想在AI的热潮里学点东西,也希望在AI的行业里自己做出点东西来)
整个面试经历我愿总结为三大板块:简历、笔试和话术(谈判)。
一、笔试
笔试是作为技术人最重要最核心的能力,通常笔试主要包含机考(二面)+话面(主要讲解项目和自身优缺点)
机考一定要准备、一定要准备,准备的充足通过的概率就高,作为技术人,如何寻找寻找资源,每个人都有自己的资源圈子,21世纪了,互联网资源一抓一大把,学会检索、整合以及挖掘资源与信息是每个人应该必备的技能。在这里列举一些大家常用的网站:牛客、CSDN、掘金、github等。
总结复盘:当天面试的所有公司的笔试题目,当天晚上一定要整理归纳,及时查缺补漏,丰富自己的技术栈,说不准明天的下一家公司就会问到同一个问题。
笔试题目
整理一下两周内所问到和考察的有关题目:
- python 多进程、多线程、协程等区别与联系、优缺点,以及进程间通信(IPC)。
- redis数据类型与应用场景。
- redis缓存穿透、缓存击穿、缓存雪崩的原因与解决方案。
- Mysql 存储引擎的区别与优缺点。
- mysql 优化,索引优化,B+tree与Btree的区别与优缺点
- mysql 中的回表操作时什么。
- 解决僵尸进程的几种方案。
- 什么是restful?如何设计规范的restful?其优点是什么?
- 说一下session、Cookie、JWT等。JWT的组成(重点,好多家问到),JWT的优缺点。
- hash的三大特点。
- 跨域解决方案,说一下预检请求的过程,主要header等。
- 说一下udp和tcp的特点,使用udp做过什么。
- TCP/IP四层模型。
- 传输层中,TCP协议三次握手和四次挥手的过程,在这期间其次数能不能减少;为什么不能减少。(字节-简直离谱)
- tcp与http协议有什么关系。
- 如何实现redis分布式锁。
- mysql中如何保证多次请求,在同一时间内只能有一个在处理。
- 在排序的问题中,过往接触到几种排序。
- 什么是并发、顺发和并行?
- 使用redis的有序集合类型能做什么应用场景?
- python中的深拷贝和浅拷贝。
- python的生成器、迭代器和装饰器,应用场景如何使用。
- django中的设计架构,前后端如何分离,ORM的使用熟练度。
- 有一大批数据,数据量在亿级别以上并且具有优先级,如何分段式进行处理。
- 现有一批树形数据,如何进行分页处理。
- 如何保证同一用户在同一时间只能在一台设备上登录。
- git变基是什么?如何解决多个git分支的冲突?
- docker,dockerfile,dockercompose的区别?
- docker删除镜像和容器的命令?
- docker中,如何理解镜像和容器?
- docker中,数据卷是什么?如何挂载?
- 有没有接触过k8s,什么是ingress,其主要代理是什么?
- CI/CD有没有接触过?如何配置?有没有使用code review等?
- 在测试环境下,如何调试bug。
- python中,什么是单例模式?其主要应用场景是什么?
- python中,使用单例模式写一个日志记录和缓存应用器。
- 说一下你最熟悉的一个项目?在这项目中你学到了什么?有没有遇到过什么问题?如何解决的等。
- 你认为你自己有哪些优点?哪些缺点?
- 你给自己的定位是什么?未来发展规划等。
能记下来的都记下来了,每天好多轮面试,题目太多,只能记一下印象比较多的题目的。
二、简历
简历修改花了我接近两周的时间,本人所从事的方向都跟AI行业沾边,所以简历修改起来相对容易些,但是简历的一些技巧也是必不可少的。包括从第三方网站上阅读其他技术大佬的文章让大佬帮忙修改,以此来提高HR给面试的机会。
简历构成
1. 个人信息 (突出重点)
2. 个人技能 (层次分明)
3. 工作经历 (学会总结)
4. 项目经历 (突出结果)
5. 教育背景 (名校前置,其他后置)
6. 个人荣誉/个人评价 (总结个人的优缺点)
(在这里不得不感谢一下掘金论坛的一位大佬分享出来的一篇文章,从里面学到了很多)
链接如下:简历链接
个人信息
只需要注意一点就行 重要信息加粗显示,工作年限、求职意向以及求职岗位单独起一行特别表明,让HR迅速看到你的主要信息。注:如果有自己开发的网站,可以吧自己的网址粘贴上去,做技术,永远是以结果为导向,一个做技术的人,其能力最终以平台和用户的认可为主要评判,那样才能体现其自身的价值。
个人技能
本人是按照上面分享的简历链接来修改的,总计分为三个方向,分别为深度、广度和业务能力。具体内容自己去查看,这样的好处是技能让HR通俗易懂的了解你的能力,也能让技术面试官知道你的在自己专业能力之内还有其他的扩展能力(技术做的越多,他对你的广度的关注也就越多)
工作经历
你工作的任何一家公司,都有自己的专属职责,学会总结,并且将你目前从事的和你将要投递的岗位尽量靠拢。
项目经历(重点)
项目经历是重点,它在二面和三面的过程中占了很大的比重,一定要学会以背景、岗位职责以及结果为方向去撰写,在这里考察的不仅仅是自己的技术能力,还有学习能力、思考能力以及团队协作等。其他小的方面,例如技术栈、公司部门等内容能写就写,但是最后不要让整理简历看的太多繁琐,一定要层次分明、重点突出。
教育背景
这里说的就是 如果是双一流大学可以吧教育背景这一板块放在第二板块下,大家懂得都懂,名校是具有优先权的,无可厚非。非名校可以将这一板块尽量后移,突出自己的专业能力。还有一点就是,所学课程和毕业论文如果跟你目前从事的岗位有关系的话可以少些一些,如果无关,那就不要写了。HR根本就不会关注你在学校学了些啥。
个人荣誉/个人总结
大学期间的荣誉校级就不要写了,尽量写一些省级或国家级的荣誉和证书。比如专利证书、国家奖学金、创新大赛等国奖。
如果自己有个人网站和Github等仓库,并且有一定的粉丝量,内容质量还可以,那么就写上。
三、话术
关于话术,可以理解为从一面到二面以及终面过程中你所遇到的每一个人,会说话真的会给自己加分。在这里涉及到不少隐私,只简单说几个例子与技巧,想学习的话可以多去看看CSDN或知乎的有关文章,然后根据自己的实际情况做个自我总结背下来就行:
- 为什么选择离职?
不要说大实话!可以根据自己的情况做个总结,如:我认为自己具备了一定的积累,并且现公司培养了我各个方面的能力,我想在这个领域学习更多的新知识,寻求更多发展。 - 你认为你自己有什么优点?
不要胡乱吹。结合实际,说出自身两个优点并且留有一定的空间。如:我个人认为自己拥有一定的责任心并且执行力比较强、例如我在现公司每天针对自己岗位内的事,事事有着落,事事有回应,同事不会的我也能及时给出合理的方案;团队确定业务方案或需求时,我往往是第一个熟悉业务并马上执行落地的人等。
以下是从其他网站中找寻的几个比较不错的答案,仅参考: - 太闲了
年轻人不应该满足于按了稳定的环境,应该具有努力和奋斗的觉悟,做好自己的长期职业规划。 - 太忙了
相比于低效重复的工作进度,我更认同高效高质的工作模式 - 管理制度混乱
- 贵公司提供推崇的人性化管理非常符合我对工作环境的预期,我也相信再这样的环境中,我能够发挥出更大的主观能动性。
- 升职加薪无望
个人认为,人不应该满足于现状,我希望能够适时地挑战一下自己,逼自己一把,最大程度的挖掘自己的潜力。
技巧
- 学会使用招聘平台的推流机制。如boss的新手保护期(可注销重新注册,把在线简历丰富好,那么面试机会就会很多)
- 有熟悉的朋友或同事可以找内部推荐,面试环节进度快。
- 学会使用互联网平台找内部岗位,如牛客,拉钩等平台。
- 把跟hr的第一句问候语改成你的个人总结,工作年限+技术栈+业务能力+结果,让hr迅速了解你。
这是2月份到3月份的所有经历,目前已经在新公司入职啦,福利待遇还不错,希望各位做技术的人,人人都能拿到自己满意的offer,一起努力,一起Coding!
最后写个结尾,用一下乔布斯经常引用毕加索的名言结尾吧: 能工摹形,巧匠窃意。
伟大的创作者一定要学会借鉴和学习他人的想法以此来提高自己的创作能力,站在巨人的肩膀上创作出自己的一套体系,一路探索,一路学习!
最后推一下自己开发的网站,网站初创,界面简陋,内置免费的chatgpt,有需要的可以私信:
Unciorn个人网站(https://www.kqlgpt.xyz/)
以上仅作为个人的复盘总结与思考,如有抄袭,请及时联系,嘴下留情,勿喷! 🙏🙏🙏