2019 后端面试经历分享

0.背景

博主本人2018年毕业于郫县某985大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀技术累积,于19年年初萌生进大公司学习的想法,于是从19年年初开始通过社招找工作。虽然大学就开始做研发,但无奈简历只看毕业工作经验,所以本人简历只有一年工作经验。

在此总结一篇文章给各位参考;

1..果壳

果壳在国贸百朗园里,在园区最里面,不是很好找,一进去先发了一套面试题和一张登记表,登记表连父母家庭资料都要,不是很理解要面试者这些信息干什么,又不一定去你家,等入职再填不行吗?所以除了本人信息,其他我没填。(面了这么多家就果壳要填这个,还要填特别详细的信息,不能懂)

一面

面试题难度适中,不过涉及到的面比较多,还要写数据库查询语句等等,博主非科班,只大概自学过数据库,然后一直在用orm,毕业后就没怎么写过原生SQL,相关题目只能凭借记忆大概写了下,还有一道题是用O(1)的复杂度实现一个栈的出栈入栈和返回max、min值的操作,其他就是一些Python基础和表设计题。

这里说下这道设计栈的题:

出入栈函数O(1)没什么问题,主要是max、min操作(博主找工作时没看过面试题目,只是刷了一些LeetCode,后来发现这道题很经典,网上很多答案)当时没遇到过这种需求,但是可以肯定想要时间复杂度下降,肯定是要用空间去换时间,所以当时有设计了额外的数据结构存maxmin,但当时设计的还是有问题,后面又和面试官讨论了一下,还是没有得出最好的方案,最后回去网上搜了下发现其实很简单,当时只差最后一步,感兴趣的同学可以看下:栈在O(1)时间内求min

二面

面试官一上来就直接拿着笔试题开始一道一道问,嗯,连我叫什么都没让介绍,更别说介绍项目什么的,感觉有点懵逼,全程没一句废话,全是纯技术问题和算法,然后自己擅长的面试官感觉不太感兴趣,我不太熟悉的他很愿意追问,嗯,二脸懵逼,之后又问道tcp流量控制,当时直接说错给说了拥塞控制,面试官表示我tcp掌握的不好(确实是我的问题,回去之后又整个看了一遍tcp)。

最后又问了很多数据库底层的东西,博主完全没接触过,所以面试官表示下一轮面试官有事(哈哈哈),接着问我有什么想问的,我问了两个问题面试官表示自己还有事。。。好吧,那就不聊了。

总结:数据库知识很重要,即使你投的是研发不是dba,你也一定要懂数据库底层的基本原理,至少要知道索引原理、MySQL数据引擎等等,因为之后凡是博主挂的面试都有数据库的锅。

果壳环境看上去有些乱,但比较温馨,但实在不敢恭维面试的方式,所以挂了博主也没惋惜。其他方面就不太了解啦,因为根本没拿到offer。

2.Veeva

公司也在国贸附近,是一家给生物科技企业(药厂)做crm的外企(不过国内的好像和国外母公司没什么关系,就是个单独的子公司),不算是互联网公司,但是薪资很给力。

一面

首先是phoneinterview,hr大概问了问跳槽的原因,项目经验,发展规划等,然后发来homework,做完后提交;

二面

homework比较简单,就是一个判断是否润年的函数,不过这里是有坑的,当题目很简单时,人家考验的就不是智商了,而是看你的编码能力,工程化能力及面向对象抽象能力,所以果断完整的写了个工程,加上完整的测试,然后提交之。

三面

hr说技术同事看了homework感觉还是比较ok的,所以约面试,首先来的面试官好像就是个leader,问了很多Python和Django相关的基础知识和算法题,现场有个白版,直接在上面她出题,我写,然后她review,基本上就是LeetCodeeasy难度的题,没有太大问题。

四面

应该是个技术大牛,问了问经验开始系统设计,我记得当时是让设计一个短网址生成方案,有一些额外要求,比如不能按照字符顺序生成短网址,而是要随机生成,如何避免碰撞,如何最大效率利用所有空间。

然后面试结束。

面试完后接到hr电话说技术同事感觉不错,问我有没有意向入职,但当时考虑还是想去互联网公司所以就拒掉了。不过veeva的薪资很给力,感兴趣的同学可以去看看。

3.知乎

去面试的时候特紧张。知乎在768创意园,环境很棒。

一面

一面面试官问了项目经历及一些个人信息后开始考基础,主要是面试官出题,然后我在纸上写代码,难度适中,因为面试的比较久了,记不太清楚全部题目,记得让手写了快排,然后Python相关基础知识,一些LeetCode题,tcp相关知识,epoll服务模型、tornado的一些原理(可以看博主之前文章tornadoioloop分析)数据库知识(坦白掌握不多)末尾问了下二分查找,一面就过了。

二面

面试官好像是商业化后台的主管?问了项目经验,问了经历,对我大学期间创业经历表示赞扬,但毕业后又创业一年表示不满意(不是很明白为什么),之后开始问一些系统设计相关题目,印象比较深的是设计微信抢红包的构架,嗯,当时根据自己的见解说了一套系统和注意的点以及分配红包的算法,感觉面试官应该不太满意。回去后看了看网上,还真有写,果断研读了一发:微信红包构架设计.

后面又聊了一些系统设计相关的内容,然后让我等等。

三面

等了半个小时,期间看到前两面面试官一直在和hr讨论,应该是要不要我的问题,半个小时后hr来跟我聊了聊规划和项目以及为何来知乎,然后就回去周五前给回复。

到此大概确定应该要我的可能性不大,应该是当做备胎了。这里自己的问题主要是系统设计方面当时并没有准备,另一方面数据库这块明明果壳问到了但是没有重视起来。最后,年底出去找工作还是要谨慎,很多大点公司没什么招聘需求,除非特别优秀。

最后,周五没有收到消息,基本确定挂了,果然在下周周一的时候收到了拒信,这点要赞一下,至少有明确的拒信,不像一些其他公司,嗯,就不明说了。

知乎氛围觉得还是挺赞的,福利也很好,包三餐,不加班,嗯,不多说了,都是泪。最近知乎开始大量招人了,大家可以去试试哦,替我完成我的dc梦,哈哈哈。

4.今日头条一面

在前台签到,领了候选人的牌子,等了一会儿就叫到了我,由于面试的人实在太多,我实在-1楼食堂进行的面试,一面面试官是广告投放部门的工程师,先自我介绍,谈创业经历,问了redis用法及原理(前面几次问到数据库的前车之鉴,博主特意狠狠看了下各种数据库的基本原理),然后根据我说使用hashtable的经验,提了一个分布式redis使用hash的潜在问题,当时没有想出来,面试官提醒了下大概说到了点子上,主要是分布式机器hash后可能存在储存分配不均匀问题。然后hash表又问了冲突解决方案,主要是拉链法和进位法,之后聊了tcp,没什么问题。问了排序算法的最小时间复杂度及原因。接着出了一道费那波数列的题,要求在常数空间复杂度内计算任意fib(n)当时可能没听清,估计没睡的原因,听成了常数时间复杂度,向面试官确认是常数时间复杂度(面试官可能没听清我说的,以为我说的空间复杂度)于是苦思冥想无果,面试官提示动态规划,于是开始推导转移方程,最后面试官说没那么复杂,这时一对才发现我们理解岔了。其实很简单:

deffib(n):a,b=0,1forxinxrange(n):a,b=b,a+breturnb

一面问题结束,在我写题的时候面试官看了我的博客和GitHub,表示满意(有点惊讶,第一次有面试官看我博客和GitHub,虽然简历上有,但从没有人说看过),然后又带我把一面所有问题过了一遍,我不清楚的地方都完整的给出了答案,没见过这么好的面试官!!不知道他们给我多少分,我给他们满分!

二面

然后问了问一些项目相关的经验和解决方案,出了一道单链表逆置的题目(和面试官透露非科班,没有出很难的题目),然而当时大脑基本处于停转状态,太困了,最后写出来有个bug,其实题目很简单,回去稍微想了下就写了出来:

defrevese(node):p=nodecur==Nonewhilecur:tmp==pp=curcur=tmpreturnp

面试官表示coding能力需要加强,当时也不好说自己没睡觉,就直接说确实能力需要加强。面试关说让我等等去找下一轮面试官,等了一会儿告诉我下个面试官不在,当时觉得我是挂了(结果是面试官真的不在),面试官好像看出了我的想法,重复了一句面试官真的不在。让我回去,稍后hr约下次面试时间。

三面

三面是一周后的下午6点,这次终于来到了面试室,里面有一块白版,三面面试官是广告大组的leader,进来没有再考基础题,问过经历后出了五道系统设计题,于是开始在白板上写,大概记得有多端登录管理、二维码登录等等一些设计,要求设计出系统结构,相关数据库和表,博主设计完后给面试官讲了一遍,感觉面试官比较满意,也没再问其他的,直接去叫下一轮面试官了。

四面五面

hr电话聊了聊个人发展及规划,然后确定了薪资,就发了offer~~

总结

从去年初找工作找到今年节后,终于找到一个满意的offer,曾经也纠结过,感觉自己高不成低不就,有段时间甚至拒绝出去找工作。

很多大公司社招都是三年经验起,所以像博主这种毕业一年的人在没有内推的情况下参加社招非常尴尬,在这里奉劝各位学弟学妹,一定要抓住校招的机会啊!!社招跟你竞争的可不光是你们同级的人。

平时一定要注意多积累,有条件的情况下尽量自己多写一些自己的项目,这样面试会有很大的加分。

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐