后端面试经历分享

0.背景

博主本人 2015 年毕业于郫县某 985
大学通信工程系,因为大学之间向来协调创业所以错过了大四秋招春招,毕业后又在首都继续创业一年,但在创业公司平素不可能沉淀技术积累,于16年年终萌生进大商家学习的想法,于是从16年岁末上马通过社招找工作。即便大学就从头做研发,但迫于简历只看毕业工作经历,所以自己简历只有一年工作经验。

在此总括一篇作品给诸位参考;

1.阿凡题

有道是算是人生第一场所试,下午 11 点开首,集团是做 k12
在线教育不无关系工作,在五道口这边;

一面

前台登记后发了一套笔试题,开端写,重要都是 Python
基础知识,不算难,基本就是 可变对象不可变对象分别、 Python
垃圾回收机制等等的题材,有一两道编程题也很简单,最终有个基于问题设计数据表的问题也不难,搞定后等面试官开首二面;

二面

面试官好像是个牵头,开始让做自我介绍,他在看我的笔试题,然后依照简历问了一部分类型相关的题目以及简单的片段系统规划问题,之后大概问了问笔试题里有的题材和补偿,感觉聊的相比神采飞扬,面试官也对前面我的经验相比感兴趣,于是去文告CTO 举办三面;

三面

CTO 面里题目标广度和纵深都很大,从服务器部署的连锁文化到 Nginx
一些细节问题都有问到,不得不说问的依旧相比较系数的,印象最深的应当是以此问题:

浏览器的一个请求从发送到再次来到都经历了哪些,讲的越详细越好

自身大致讲下我的答案:

1、先从网络模型层面:

client (浏览器)与 server 通过 http 协议通讯,http
协议属于应用层协议,http 基于 tcp 研究,所以 client 与 server 重要透过
socket 举行报道;

而 tcp 属于传输层协议、借使走 https 还需要会话层 TLS、SSL 等商议;
传输层之下网络层,这里关键是路由协和 OSPF
等展开路由转发之类的。再向下多少链路层重假使 ARP、RARP 协和完成 IP 和
Mac 地址互解析,再向下到最底部物理层基本就是 IEEE 802.X
等协议进行数量比特流转成高低电平的的局部概念等等;

当浏览器发出请求,首先举行数量封包,然后数据链路层解析 IP 与 mac
地址的投射,然后上层网路层举行路由查表路由,通过应用层 DNS
协议得到目的地址对应的 IP ,在此间开展 n 跳的路由寻路;而传输层 tcp
协议得以说下相比较经典的五回握手、一遍分其它进程和状态机,这里放个图可以看成参照:

2、应用层方面:

数据互换首要透过 http 协议, http 协议是无状态协议,这里可以谈一谈
post、get 的界别以及 RESTFul 接口设计,然后可以讲服务器 server 模型
epoll、select 等,接着可以遵照实际经验讲下 server 处理流程,比如自己:
server 这边 Nginx 拿到请求,举行一些表达,比如黑名单拦截之类的,然后
Nginx 直接处理静态资源请求,其他请求 Nginx 转发给后端服务器,那里自己用
uWSGI, 他们中间通过 uwsgi 共商通讯,uWSGI 得到请求,可以拓展局部逻辑,
验证黑名单、判断爬虫等,依据 wsgi 标准,把得到的 environs 参数扔给
Django ,Django 依据 wsgi 标准收取请求和 env, 然后起先 start_response
,先跑 Django 相关后台逻辑,Django 得到请求执行 request middleware
内的连锁逻辑,然后路由到对应 view 执行逻辑,出错执行 exception
middleware 相关逻辑,接着 response 前履行 response middleware
逻辑,最后通过 wsgi 标准社团 response, 拿到需要回到的东西,设置有些
headers,或者 cookies 之类的,最后 finish_response 重临,再经过 uWSGI
给 Nginx ,Nginx 再次来到给浏览器。

谈完后 CTO 遵照自家说的部分细节提出了有的题目,最后当时就谈了 offer ,CTO
说不走 hr 这边了第一手和我谈,相比奇怪的是 offer 给的比我自己要的还高
5k。对于第一次找工作的自家的话当时满心激动。

最后大概说说环境:公司在五道口一栋写字楼内容,规模还算相比较大,听 CTO
谈做的事务也正如好玩,有机器学习、大数额等等 (
首如果处理各个初高中课程的题目,涉及到文字识别深度学习等等,当然我假若进入肯定要从作业写起
),包午餐、早晨茶之类的此外自己就不太知道了,因为早上就走了,然则集团类似是每一周二天班。集团发展感到仍然相比较高效,感兴趣的同校可以去试试。

2. 学堂在线

商家也在五道口,哈工大科技园里,Google 前中国办公对面的楼里 (
好像现在搬到 Google 这里了 )

一面

一面面试官应该是个后端研发工程师,感觉有些羞涩,全程一贯不看自己,首要聊了有的简历里的门类经验,系统规划,然后问了多少个大概的算法题和一些
Python 的基本知识,然后就去叫二面面试官了。

二面

二面面试官是部门主持,嗯,本次终于看着自己跟自己聊了,哈哈,感觉目光互换也很重大,同样问了一部分系统规划的问题和经历问题,因为博主
Django
相关的经验还算相比充分,感觉他们也重点是找工作研发,所以没什么奇怪就过了。

三面

hr 面,重要问了有些工薪期望,发展设计等等的,重如若聊天,然后就发了
offer。

高校在线重假若做慕课平台,并且是和国内各大大学合作,福利方面因为最终没有去所以不是专程询问,公司环境依然不错的。

3.果壳

果壳在国贸百朗园里,在园区最里面,不是很好找,一进去首发了一套面试题和一张登记表,登记表连父母家中资料都要,不是很清楚要面试者那些信息干什么,又不肯定去你家,等入职再填不行吧?所以除了自家信息,其他自己没填。(
面了这样多家就果壳要填这些,还要填特别详细的音信,不可能懂 )

一面

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

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

出入栈函数 O(1) 没什么问题,首假设 max、min 操作(
博主找工作时没看过面试题目,只是刷了部分 LeetCode
,后来察觉这道题很经典,网上广大答案)当时没境遇过这种需求,然而可以毫无疑问想要时间复杂度下降,肯定是要用空间去换时间,所以顿时有计划了额外的数据结构存
max
min,但登时规划的仍然有题目,前面又和面试官探讨了弹指间,仍然不曾得出最好的方案,最终回来网上搜了下发现实际上很简单,当时只差最后一步,感兴趣的同室可以看下:栈在
O(1) 时间内求
min

二面

面试官一上来就径直拿着笔试题起首一道一道问,嗯,连自己叫什么都没让介绍,更别说介绍项目怎么的,感觉有点懵逼,全程没一句废话,全是纯技术问题和算法,然后自己善于的面试官感觉不太感兴趣,我不太熟练的他很情愿追问,嗯,二脸懵逼,之后又问道
tcp 流量控制,当时一直说错给说了不通控制,面试官表示自己 tcp 明白的不得了(
确实是本身的题目,回去之后又全方位看了几回 tcp )。

最后又问了过多数据库底层的事物,博主完全没接触过,所以面试官表示下一轮面试官有事
( 哈哈哈
),接着问我有哪些想问的,我问了多少个问题面试官表示友好还有事。。。好吧,这就不聊了。

生物科技,总括:数据库知识很关键,即便你投的是研发不是 dba
,你也终将要懂数据库底层的基本原理,至少要清楚 索引原理、MySQL
数据引擎等等,因为将来凡是博主挂的面试都有数据库的锅。

果壳环境看上去有点乱,但相比友好,但实在不敢恭维面试的章程,所以挂了博主也没惋惜。其他方面就不太了然啦,因为从来没得到offer。

4.Veeva

店家也在国贸附近,是一家给生物科技公司( 药厂 )做 crm 的国有公司 (
不过国内的好像和外国母集团没什么关系,就是个单身的分店
),不到底互联网公司,但是工资很给力。

一面

先是是 phone interview,hr
大概问了问跳槽的由来,项目经验,发展规划等,然后发来
homework,做完后交付;

二面

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

三面

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

四面

有道是是个技巧大牛,问了问经验起初系统规划,我记得及时是让规划一个短网址生成方案,有部分优良要求,比如不可能遵照字符顺序生成短网址,而是要自由生成,怎样避免碰撞,如何最大频率利用具有空中。

实际方案得以看知乎,下边有人议论过:
短链接是怎样规划的

下一场所试截止。

面试完后收到 hr
电话说技术同事感觉没错,问我有没有意向入职,但当时设想或者想去互联网公司由此就拒掉了。不过veeva 的工钱很给力,感兴趣的同窗可以去看望。

5.知乎

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

一面

一面面试官问了档次经历及一些个人音信后起始考基础,紧倘使面试官出题,然后自己在纸上写代码,难度适中,因为面试的相比较久了,记不太领会所有问题,记得让手写了快排,然后
Python 相关基础知识,一些 LeetCode 题,tcp 相关知识,epoll
服务模型、tornado 的一部分原理 ( 可以看博主往日著作 tornado ioloop
分析

)数据库知识 ( 坦白了然不多 )末尾问了下二分查找,一面就过了。

二面

面试官好像是商业化后台的掌管?问了花色经验,问了经验,对自己大学之间创业经验表示赞美,但毕业后又创业一年代表不如意(
不是很了解为何),之后最先问一些系统规划息息相关问题,映像相比较深的是统筹微信抢红包的构架,嗯,当时遵照自己的视角说了一套系统和专注的点以及分配红包的算法,感觉面试官应该不太惬意。回去后看了看网上,还真有写,果断研读了一发:
微信红包构架设计.

末端又聊了有些体系规划有关的情节,然后让自己等等。

三面

等了半个钟头,期间看到前两面面试官向来在和 hr
商量,应该是要不要本人的题目,半个钟头后 hr
来跟自身聊了聊规划和连串以及为啥来果壳网,然后就重返星期天前给回复。

到此大概确定相应要自己的可能性不大,应该是当做备胎了。
那里自己的题目首倘诺系统规划方面立即并从未备选,另一方面数据库那块明明果壳问到了不过没有强调起来。最后,年初出去找工作如故要谨小慎微,很多大点集团没什么招聘需求,除非特别美好。

末了,星期三没有接过消息,基本规定挂了,果然在上每一周一的时候接受了拒信,那一点要赞一下,至少有显明的拒信,不像有的别样集团,嗯,就不明说了。

微博氛围觉得仍然挺赞的,
福利也很好,包三餐,不加班,嗯,不多说了,都是泪。
前不久网易起始大量招人了,我们可以去摸索啊,替自己完成自我的 dc 梦,哈哈哈。

6.春雨大夫

春雨医务卫生人员在果壳网隔壁,真的是紧隔壁,环境也无可非议~

一面

照例举办自我介绍,然后问项目经验,最先纸上写代码,然则这里要赞一下春雨,面试题都相当接地气,全是基于实际项目里的题材举行编码,比如有个给医务卫生人员和病人聊天记录分组指示的问题,都是接近的莫过于情形题目,完全没有那种纯算法题目,之后又聊了部分
Python Django 基础有关的东西,顺利跻身二面。

二面

问了有的类型音信,然后起先系统规划,没记错的话应该是计划性一个像样 QQ
的聊天工具,要求有群,并且可以发送图片、语音等各项音讯,群管理员可以拓展群管理等等。后边又问道数据库,直言数据库基础领悟的可比少,面试官也绝非为难我。

三面

三面的时候到夜里饭点了, hr 妹妹顶尖好,带我去外面中餐馆点菜吃饭,回来后
CTO 面试, 考了阿凡题 CTO 问过的题目:
浏览器的一个请求从发送到再次回到都经历了哪些

于是自己又依据地方相当流程讲了一回,接着又问了问自己的上扬设计和期待,然后我问了问春雨相关的部分题目,面试截止。

隔天收到了 offer,
请我吃饭的小大嫂发给自家的,哈哈,但是由于年前无法到岗,只可以拒掉了。

完整讲,春雨环境也很正确,但此外有益我也尚无问,所以任何不太清楚咯,有趣味的同室可以去试试。

7. 360

360 在酒仙桥,最不靠谱的面试。。。

一贯通过拉钩邀请第二天下午面试,当时一度早晨五点。完全没打电话发短信,接到邮件的自己一脸懵逼,于是主动打电话过去确认,拿到一定后第二天做多个多刻钟车赶往望京。
( 我住在八宝山这块 )

一面

前台不让进,让通报面试的人来接,等了会儿面试官来接自己,然后七绕八绕不精晓绕道哪去给了自家一份笔试题,让自己做,着重强调不要看手机
( 本来就没打算看好嘛,我坐的头部有个视频头,你让自身怎么看,哈哈哈
)写完让自身打他电话,然后他就闪了。

本人一看问题,除了前三道是 Python 之后全是 Linux
基础题,当时心里想:不亏是做安全的呀,要求就是不均等,然则博主半吊子
Linux
水平只会有些常用的指令,笔试题里的高端用法实际是臣妾不会做呀,于是本着诚实的规则做完会做的打了电话。

二面

面试官来没有让自我介绍,直接对着题目起首问 (
我的心扉已经暴发了争论感,和果壳一样 )。第一题是个 Python
改错题,面试官问为啥这么改,我大概讲了下,然后是讲了下 lambda
表明式并提供编程例子,面试官看完也没说哪些,接着是一个用两个序列模拟栈,写实现代码,也不曾太大问题,只是面试官也从不看代码,就是问了自家怎么落实。

随之到了 Linux
部分,基本都不会,会的也只能写出简约的授命,面试官直言:你这几个笔试题做的不好啊。怎么都不会
( 确实有自我的题材,Linux 基础不佳,但是一贯否认了面前其他部分有点冤啊 )

紧接着问了有些门类经验,看到自身的开源项目
djanog-simple-serializer
问这是干嘛的,然后自己说了下是序列化解决方案,面试官说:连串化不是很粗略嘛?(
我也没说难啊大兄弟,只是其他的从未有过好用的亲善写了个嘛
)接着面试官问了自身一句让自身十脸懵逼的话,作为一个不懂 Python
的人,你能给自家概括讲讲 Django
和你做的事物吗?当时我的心灵全是黑人问号脸,wtf ?不懂 Python ?那你招
Python ? 怎么面试啊大兄弟,即使本人领悟其他语言用的 6 写 Python
也没问题,不过招进来就要写作业你怎么也得找个有连带经历的面试吗,这下我理解怎么在此之前Python 部分面试官不怎么看了。
此刻我只想迅速离开了,于是就说感到招聘需要和我不太雷同,就不耽误时间了。

可以吗,应该自我终于遭受个例,请我们不用对 360 发生偏见。

8. 知乎

网易在中航广场,人民大学边缘,不得不说,是我面试过离自己最近的商店,头条大楼很泼辣。发展也很迅猛。

一面

面试前一天夜晚莫名自闭症,真的是一宿没睡,睁眼到天亮,然后一脸懵逼的去面试,到了头条前台我勒个去,从没见过如此五人来面试,大厅做不下了,当时心里想:完蛋,这么多个人,竞争得多激烈,今儿早上还自闭症,血崩。

在前台签到,领了候选人的牌子,等了一阵子就叫到了自家,由于面试的人实在太多,我实际
-1
楼饭馆举办的面试,一面面试官是广告投放部门的工程师,先自我介绍,谈创业经历,问了
redis 用法及原理 (
后面几遍问到数据库的教训,博主特意狠狠看了下各样数据库的基本原理
),然后依照本人说利用 hash table 的阅历,提了一个分布式 redis 使用 hash
的心腹问题,当时从未有过想出来,面试官指示了下大约说到了关节上,重如果分布式机器
hash 后恐怕存在储存分配不均匀问题。然后 hash
表又问了争辩解决方案,首假如拉链法和进位法,之后聊了 tcp ,没什么问题。
问了排序算法的细刻钟间复杂度及原因。接着出了一道费那波数列的题,要求在常数空间复杂度内总结任意
fib(n)
当时说不定没听清,揣度没睡的原委,听成了常数时间复杂度,向面试官确认是常数时间复杂度
( 面试官可能没听清自己说的,以为我说的长空复杂度
)于是苦思冥想无果,面试官指示动态规划,于是从头推导转移方程,最终面试官说没那么复杂,这时一对才发觉我们通晓岔了。其实很粗略:

def fib(n):
    a, b = 0, 1
    for x in xrange(n):
        a, b = b, a + b
    return b

一派问题停止,在本人写题的时候面试官看了我的博客和 GitHub,表示满意 (
有点惊叹,第一回有面试官看本身博客和 GitHub
,就算简历上有,但从没有人说看过
),然后又带自己把一端所有题目过了一次,我不知晓的地点都完好无缺的交给了答案,没见过如此好的面试官!!不领会他们给本人稍稍分,我给她们满分!

二面

二面面试官是头条广告后台组总裁,对自家的创业经验很感兴趣,问了不少相关题材,然后看到本人的开源项目又问了一些问题,然后提了一个很有趣的题材,在无限气象下,系统缓存全部失效,该怎么预防流量全体打到数据库上,当时从众多方面考虑可是觉得面试官没有异常好听,可是也算是答到了问题上,也固然过了。回去后专门看了看,缓存失效的解决方案,感兴趣的校友自行检索
“缓存重建”。

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

def revese(node):
    p = node
    cur = node.next
    p.next = None
    while cur:
        tmp = cur.next
        cur.next = p
        p = cur
        cur = tmp
    return p

面试官表示 coding
能力需要增强,当时也不好说自己没睡觉,就径直说真的能力亟待提升。面试关说让自家等等去找下一轮面试官,等了一阵子告知自己下个面试官不在,当时以为自身是挂了
( 结果是面试官真的不在
),面试官好像看出了自己的想法,重复了一句面试官真的不在。让自家回来,稍后
hr 约下次面试时间。

三面

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

四面

四面面试官是头条 data 部门的
vp,感觉人顶级和善,进来直接跟自家说一道去吃饭吧,刚好体验下头条食堂,然后,第四轮面试是在饭桌上展开的,紧要谈了谈我的品种经验和提高趋向以及为啥来头条,最终吃完饭面试官说本来这一轮也会考技能,然则觉得聊得没错,就不聊技术了,让我回到等
hr 电话。( 头条食堂真的不错呀,只是霎时没好意思多打,哈哈 )

五面

hr 电话聊了聊个人提高及设计,然后确定了工钱,就发了 offer ~~

头条环境万分不易,包三餐,自助餐馆,无限水果零食还有下午茶,上午 10
点后打车报销,入职发 mac,
住集团周围房补,大小周加班有加班费等等,不言而喻有利于相当多 (
为啥我知道的如此多 )依然引进我们来啊。

总结

终极,博主接纳了头条的 offer 。( 已经找到当年面试我的大神们,哈哈,心潮澎湃)

从2018年终找工作找到当年节后,终于找到一个满足的
offer,曾经也纠结过,感觉温馨高不成低不就,有段时间竟是拒绝出去找工作。

许多大商家社招都是三年经验起,所以像博主那种毕业一年的人在没有内推的情事下插手社招分外窘迫,在此地奉劝各位学弟学妹,一定要引发校招的火候啊!!社招跟你竞争的可不光是你们同级的人。

找到工作后偶尔发现一本神书 《剑指
offer》我面试过主导享有问题方面都有,推荐我们一定过一次(
假使早点看到就好了,哈哈 )

此间还有博主当时刷过的
LeetCode
https://github.com/bluedazzle/leetcode\_python
,可以参照一下,之后有时光博主也打算一直刷下去。

平生必定要专注多积累,有标准化的景观下尽心尽力协调多写一些温馨的系列,那样面试会有很大的加分,比如博主以前写过的小程序:式神猎手
(
https://www.rapospectre.com/blog/create-an-onmyoji-weapp-in-24-hours
) 在面试中就很有补益。

还没完

说到抓住校招,新浪春招刚刚起头,学弟学妹抓紧机遇,本人能够内推哦:

天涯论坛冬天高校招聘火热开展中!
【面向对象】:二〇一七年应届毕业生和二〇一八年应届暑期实习生
【职位方向】:研发、产品、运营、销售、投资、HR等
【冬日招聘 –
2017届】:https://job.toutiao.com/campus/spring
【暑期实习 –
2018届】:https://job.toutiao.com/campus/summer
【投递时间】:十一月9日 – 12月30日
【头条邀请码】:iUGUiF(不区分轻重缓急写)

报到相关网址输入本人的头条邀请码即可成功内推哟,快到碗里来!!

社招的校友也别灰心,只要您找得到自己的信箱( 应该挺好找的
),简历发给我,帮你内推~

本来,对于以上其他家集团,只要我得到 offer 的集团本身都足以帮咱们推哟。

面试过程中还去过几家创业企业聊过,发展也很好,比如
青橙科技、录像帮等等,假诺我们感兴趣,我都足以帮我们直推 CTO 。

作者:rapospectre

相关文章