2019 后端面试经历分享

在这里插入图片描述

0.背景

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

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

1…果壳

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

一面

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

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

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

二面

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

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

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

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

2.Veeva

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

一面

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

二面

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

三面

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

四面

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

具体方案可以看知乎,上面有人讨论过: 短链接是如何设计的

然后面试结束。

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

3.知乎

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

一面

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

二面

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

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

三面

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

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

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

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

4. 今日头条

今日头条在中航广场,人民大学旁边,不得不说,是我面试过离我最近的公司,头条大楼很霸气。发展也很迅速。

一面

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

在前台签到,领了候选人的牌子,等了一会儿就叫到了我,由于面试的人实在太多,我实在 -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 。( 已经找到当初面试我的大神们,哈哈,开心 )

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

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

平时一定要注意多积累,有条件的情况下尽量自己多写一些自己的项目,这样面试会有很大的加分。
在这里插入图片描述
前期我也和很多小伙伴一样,到处收集了很多资料,后面发现很多重复的!上面都是自己整理好的!现在BAT梦想成真,我就把资料贡献出来给有需要的人!顺便求一波关注,哈哈~各位小伙伴关注我后私信【Java】就可以免费领取哒

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值