本人末流985本软件工程专业,期间项目做的比较多,比赛也参加的挺多,但是没有拿到过特别好的名次。大二下开始下定决心考研,后来19年7月底放弃。在19年8月份初开始打算找工作,python技术栈,也做过javaweb、QT等方面的项目,从8月份开始复习计网、数据库、数据结构、操作系统等知识,然后在9月份左右的时候,开始了自己的秋招面试之旅。因为有些公司投的比较晚,可能在自己这个地区招人已经结束了,因此很多公司投了简历都没能收到面试或者笔试的机会,就只记录一下自己得到机会去面试的公司吧。一共面了7家公司,头条、深信服、VIVO、网龙、中兴、4399、CATL,最后拿到了头条、深信服、VIVO、中兴、CATL的offer。
CATL两面面经
这是我秋招投的第一个公司,也是本着去积累点面试经验,但也是面试体验最差的一个公司。
一面:一面面试官看起来是一个40多岁的中年大叔,刚坐下面试就被怼没穿正装(??程序员面试要穿正装??),说我不珍惜CATL这个机会?
1.自我介绍,问了一些关于项目的问题。
2.问了数据库联接操作,左连接,右链接,全链接的操作以及区别,问了数据库的三大范式的理解。
3.问了计网的HTTP报文结构,get和post请求的区别,以及一些其他问题,暂时记不起来了。
4.又开始谈项目,因为我的项目上有一个外包项目,他比较感兴趣吧,就问了一些相关的问题。
可能是因为我穿的过于随意,全程只面了20几分钟就结束了,然后走的时候提醒我说下次一定要注意穿得正式一点,让我回去等通知。
二面:电话面,可能是压力面吧,整个面试都在被怼。
1.问我对于软件工程的看法,软件工程的流程,以及在软件工程中学到了什么。
2.问了一个问题,一个人需要一座桥或者需要一床棉被,问在需求分析过程中,这算不算是需求。(本人内心:这是什么问题, 其中肯定有诈,他都这样问了,那这可能就不是需求了啊,但为什么不是呢?)在经过内心的多番纠结之后,还是给出了是的答案,然后就怼我大学白学了?软件工程这个专业白上了?(WTF?),他说需要一座桥或者是一床棉被,过河和御寒才是需求,桥和棉被只是达到需求的手段(但是用户也没有说要这桥和棉***什么啊??)。自这个问题之后就一直在被怼。
3.问了HTTP与HTTPs的区别,然后让我说出HTTPs的整个过程,又问了SSL加密,问我知道数字签名吗。(忘记了数字签名是公钥加密还是私钥加密,然后又被怼)
4.问我大学期间上过什么课,然后问我在那门课上学到了什么。问了两个问题,然后又被怼,说我上过的课都白上了。
还问了我很多问题,现在已经记不清了,但是每问一个问题都在想方设法的怼我,面试体验极差。最后面试官下的结论是我还不如外面报培训班的同学,说别人学的虽然是拧螺丝,但是拧螺丝也肯定比我拧的好,说我这边学一点那边学一点,最后什么都学不会,学不精。此次面试体验极差,持续时间一个小时,但又不敢怼他,只能唯唯诺诺给他说是是是。面完整个人都不好了,第一个面试的公司就这样,对未来充满了迷茫。但第二天晚上突然收到了CATL的offer?此时我的内心是懵逼的。。。
4399两面凉经
这是秋招投的第二个公司,经历了被CATL面试官狠狠怼了一波的经历,每天都在加紧时间复习,害怕再次被怼。
一面: 1.自我介绍
2.python里面的数据类型有哪些,哪些是可变数据类型,哪些是不可变数据类型。
3.给定一张表,写出SQL语句,字段有id,name,subject,grade。求出总分大于300分的学生的名单,求出没有不及格成绩的学生名单。
4.问了http的报文结构,问我知道有哪些报文头。get和post的区别是什么。
5.给定一个序列,问冒泡排序和快速排序的基本流程,写出每次排列的结果。
6.开始闲聊,问了我的家庭情况,以及平时学习的方法和过程。
然后说我通过了,让我再去负责人那里签个到。
二面:好像直接就到HR面??没有问技术问题。
1.自我介绍。
2.问了我哪个项目最让我印象深刻。
3.问了我对于自己笔试的满意程度,问我大概觉得我能拿多少分。
4.问了我大学期间的学习情况,成绩排名。
然后让我先回去,说最迟中秋节之后有通知。(但都到现在了,一起去面4399的小伙伴都收到感谢信了,我都还没收到任何通知或者是拒信,我是不是被遗忘了。。。)
中兴两面面经
中兴整体来说面试是挺好过的,也没有涉及到很多的技术问题。
一面:面试官真的超级好,整个面试过程没有一点点的架子,特别随和,真的就像和好友交谈一样。
1.自我介绍
2.问我对哪个语言比较熟悉,问了我python和C++、JAVA的区别。
3.问了我读锁和写锁,以及在数据库里面的应用,数据库中的共享锁和排他锁。
4.问了我项目问题,还是对我外包的项目比较感兴趣,问了我许多问题。
5.闲聊,问我是不是单身,让我早点找女朋友,问了我的期望城市,我说我比较想去成都,问我西安愿不愿意去,他说想让我去西安做5G的相关研究。但我还是给他说如果成都有机会,我还是比较倾向于成都,我说其他地区也不是太挑吧,还是表明了想去成都的强烈欲望。
二面:桌下掉了一张身份证,不知道是不是面试官对我的考验,小心翼翼的捡起来,然后礼貌的递给了面试官。哈哈
1.自我介绍。
2.问了我是怎么做项目的,对于整个项目是怎么去把控的。问了我的参赛经历,参赛所做的项目,描述一下。
3.又问我愿不愿意去西安,但我还是强烈表达了我想去成都的想法。
然后让我回去等通知,后面可能是不想去西安被深圳的其他部门捞起来,让我去深圳,后面拒绝了。后面又被杭州的部门捞起来,又拒绝了。
深信服三面面经
只能说深信服是我面了这么多公司中感觉面试最难的一家公司,真的很考验技术。
一面:1.自我介绍
2.数学题,如果一个人在公交车站台一分钟内能等到公交车的概率为p,那么这个人在三分钟里能等到这辆公交车的概率为多少?(从反面去思考1-(1-p)*(1-p)*(1-p))
3.打灯过桥的问题,4个人过桥的时间分别为1分钟,3分钟,7分钟,9分钟(具体时间忘记了,但思路不变)。只有一个手电筒,每次只能两个人过桥,过桥时间以两个人中最慢的那个人过桥时间为准。问这四个人全部过桥最少需要多少时间。最开始的想法是用时最短的人带着其他人过桥,然后回去接下一个人,这样能达到最短的时间。但是实际不是这样,这是一个经典的递归问题吧。
4.因为报的是python开发工程师,开始撸python的语法,GIL是什么,python里常用的数据类型有哪些,深拷贝和浅拷贝的区别,python里装饰器的作用,怎么去构造一个装饰器,字符串拼接直接用+会产生什么问题怎么去优化,python函数中如果传入确定的参数那么python在运行这个程序的时候他是在什么时期被确定下来的,如果确定的参数是一个列表,那么后面可能会遇到什么坑,python中is和==有什么区别(暂时只记得这些问题了,当时问了特别久的语法)。
5.又问了一些C的语法,如何避免一个野指针,strlen和sizeof的区别,字符串操作函数strcmp的作用,还问了几个关于C的问题,记不起来了。(后面想要报深信服python工程师的同学一定要记得也要温习一下C、C++的语法啊!!!)
面试持续了一个小时多,我前一个面python的进去了10几分钟就出来了。。。面试官最后的评价是,我作为一个python的使用者是合格的,但是以后要更多的去站在python开发者的角度去思考怎么写程序,提高程序性能。
二面:1.自我介绍
2.问了我的项目问题,还是外包项目,可能只是比较实际的项目吧,面了前面这几家公司都在问这个问题。
3.HTTPs和HTTP的区别,HTTPS实现的原理过程,SSL加密,非对称加密和对称加密在HTTPS中是怎么用到的。
4.打开了一个浏览器,输入www.baidu.com发生了些什么过程,从应用层到物理层,啪啦啪啦将给他听。中间问到了ARP的过程。
5.问我python中字典的底层是怎么实现的。
6.问我平时学习方法,获取知识的途径有哪些。
面完之后就直接让我去找HR面一下。
三面:1.自我介绍。
2.问了我项目是怎么做的,最让我印象深刻的项目有哪些。
3.问我平时是怎样去学习的,为什么不打算考研。
4.问了我让我印象最深的好友,他们有什么品质和性格,经历过哪些事,在哪些事情中体现出来他们的性格。
5.问了我期望薪资,问我为什么不去成都。(深信服不是在成都没有分公司吗。。。。我也想去啊)
然后就回去等通知,后面拿到深信服offer的时候,问了一些其他拿到这个岗位的同学,原来自己应该还是算一个小sp吧,薪资比他们要高一些。
vivo二面面经+网龙二面凉经
为什么这两个写在一块呢,因为两个面试当时冲突了,本来调了网龙电话面到下午的,但是还是突然在上午给我打电话。当时刚在vivo那里签完到,过了两分钟,网龙一面触不及防就过来了,vivo都在叫号去面试了,最后急急忙忙电话面完了网龙,马上去房间找面试官面试,鸽了vivo面试官20分钟。。。
网龙一面:1.自我介绍
2.问我python中.pyc文件是什么,有了解过吗。
3.问我flask框架的构造,以及他是怎么实现前后端连接的。
4.问我python中的列表、字典、元组的区别。
5.问我数据结构链表、栈、队列、堆的原理以及大体实现过程。
6.数组和链表的区别,优缺点。
7.HTTP状态码,304是什么。
8.问我学过哪些课程,编译原理这门课你学到了什么,它大体讲了哪些内容,归纳总结一下。
但是面的比较急,所以说话速度很快,20多分钟搞定了上面的这些问题,然后急急忙忙去面vivo,网龙二面就不写了,就问我的性格,问我打哪些游戏,问我游戏段位,还问我为什么要报网龙,为什么想去成都,不去福州。
vivo一面:当时进入房间,面试官的脸色只能说特别不好,我只能一个劲的去道歉。
1.自我介绍。
2.主要问了很久的项目问题,对于一个项目是怎么构造的。
3.问了我互联网+的比赛项目,我做了哪些内容,我是怎么去实现的。
4. 我项目中多进程和多线程体现在了哪些方面,什么时候去用到的。
5.问我有什么问题。
面的也比较快,面完之后就叫我去楼下HR面。
vivo二面: 1.自我介绍。
2.介绍了项目中写的深度学习相关的一个项目,我承担的角色,做了哪些。
3.期望城市在哪,想不想去其他地方。
后面就没问什么问题了,面的也比较快,可能是知道我鸽了前面的面试官心里很不爽,但是最后还是发了我offer。
头条三面
头条面试来的比较晚啊,前面面完深信服都签了,头条的面试才珊珊来迟,打算后面找个时间去毁约,然后重新签头条。(心疼自己的银子)
一面:1.自我介绍
2.解释一下python中的GIL是什么
3.GIL是单线程的,那么python中多线程的实现有什么用。
4.当打开浏览器输入一个网址时,用到了哪些网络协议。
5.4次挥手中,time_wait和close_wait的状态。
6.对于多线程,我是怎么去使用的,如果要我去设计一个线程池,我该怎么去设计。
7.python中的map是怎么实现的,知道java中的hashmap底层是怎么实现的吗。
8.数据库中索引的作用,主键索引工作的大体流程。
9.手撕代码,字符串转整数,包括正数负数小数,以及异常处理溢出的情况。(20分钟)
二面:1.自我介绍
2.知道索引吗。聚簇索引和非聚簇索引的过程是什么,有什么区别。
3.数据库索引实现为什么要用B+树,而不去用hash呢。
4.http有哪些版本,1.0和1.1有什么区别。
5.cookie和session了解吗,他们是怎么连接起来的。
6.如果你去设计一个网站后台的缓存,你会怎么做。
7.写了一个数据库的sql语句。
8.问了项目,还是外包项目,问了我做了哪些,然后那些技术是怎么去实现的。(项目技术上写了多进程,pyqt,socket,mysql等)
9.手撕代码,二叉树最深叶子节点的最近公共父节点。
三面:1.自我介绍
2.https的具体实现过程。(就是中间客户端、服务器、CA三方的交互过程)
3.AES加密的具体过程。
4.数据库写一个sql语句。(这个自我感觉特别难,面试的时候只写了一半,后面面试完自己又花了时间去写才写出来)
5.数据库中的联合索引,索引失效的情况,是全部失效吗,还是部分失效。
6.给定两个文件A,里面有id name,文件B,里面有id age,怎么将两个文件的内容join起来。(最开始回答的是全部放入数据库,然后用数据库的union操作,然后他说没有数据库,然后就回答先分块,再根据ID排序,然后再每个块去进行join)。
7.手撕代码,一个图中联通1的块的个数。(当时用到的思路,先加围墙,减少边界处理,在计算每个块的时候用到了队列的数据结构)。
8.闲聊,闲聊也暗藏杀机啊。还是外包项目,问到了里面遇到什么困难没,因为是小程序,因此在开发自己测试的版本是没有什么问题,但是到了小程序发布的时候,就遇到了比如需要一个合法域名,还必须用https才能发送request请求,https的默认端口是443,我们自己写的服务器程序不能用443端口,然后用nginx反向***,https还要修改服务器程序,申请ssl证书,然后配置等等。他问到我们的ssl证书为什么要去网上申请,不能自己生成吗。这个问题我还真没考虑过,然后就给他说,我们是去百度上查的解决方法,然后去申请配置之后才成功的,自己没有去试过生成。还问了我大学有没有什么有趣的事情等等。
其实最后三面的自我感觉挺不好的,当时sql语句没写完就特别慌了,后面对自己的回答都没感觉了,但最后还是幸运通过了吧。
总结
自我感觉自己还是挺幸运的,经历了两个多月的和各大面试官的斗智斗勇,最后拿到了成都的头条的offer还是python方向。大二上算法课对python产生的兴趣,后来自己去网上找python的课程来学习,从基础语法到高级语法,网络编程自己写服务器,pyqt做桌面应用程序。后面的项目能用python就都用的python来实现,跌跌撞撞用了两年的时间了,本来想着以后读研肯定也会用到挺多的,但后来不考研了。python方向的工作岗位太少了吧,很多投的其他公司的岗位都投的是比如精通xxx,xxx,xxx语言中的一种的这种,或者去投一些前端和嵌入式相关的岗位,自己在大学期间什么都去学,什么也都在做,安卓,web前端,小程序,后台,服务器,嵌入式,pyqt,qt等,但自己还是最想去做后端的工作吧。看了这么多公司,也就找到两个心仪的公司在用python,一个是深信服,一个是字节跳动也就是头条。对于像我一样的小伙伴,可以好好准备一下这两个公司吧,毕竟春招也还有机会。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
咱们下期见!答案获取方式:已赞 已评 已关~
学习更多知识与技巧,关注与私信博主(03)