春招到秋招27面面筋总结

春招到实习(Java)

  • 阿里面完HR凉,网易游戏研发笔试凉,腾讯提前批一面凉,字节跳动三面凉。腾讯正式批过。最终去了腾讯TEG实习。春招编程语言都是Java。

    实习到秋招(C++)

  • 话说今年腾讯实习生招的有点多,部门实习生太优秀,加上Leader告诉我说我性格和思维做业务会更好,于是乎就被转推荐了,期间感谢各路大神帮忙递简历,于是便有了以下的面试经历。
  • 蚂蚁金服三面挂,华为Cloud Bu两面过,字节跳动笔试两题AC三面过,腾讯转推荐面了IEG和WXG,其中IEG面了4面,WXG面了6面,最终两个都过了,经过慎重思考,最后选择了WXG(放弃了一夜暴富的机会,IEG分配给我的游戏开发组极具前景)。秋招编程语言切换到C++。

    已拿offer

  • 字节跳动深圳后台开发,腾讯WXG的增值业务后台开发,华为Cloud Bu的云计算开发工程师。

    面筋

  • 我的简历很挫,差到什么地步呢?我申请的全部是后台开发,结果我简历中一个后台项目都没有,面试官对我在学校做的东西毫无兴趣。这就导致了我的面试内容天马行空,广度和深度兼具。要不是靠着运气***,这会不知道哭成啥样子了。我自己数了一下,从春招到秋招,我一共面了27面。

    数据结构与算法

    牛客网的剑指offer必须得刷,因为我不怎么需要笔试,基本都是内推,因此我遇到的面试算法题,基本需要手撕,这也意味着不会太难写,面试官需要的是思路和熟练度。如果你需要笔试,那就不要学我,好好刷题先过笔试。数据结构和算法是内功,躲是躲不了,想去大厂的好部门,这部分必须要强。

    操作系统

  • APUE和深入理解计算机系统看个两遍你能基本能知道后台开发所需的知识点,但是要对付面试就不行了,这块内容建议大家看面筋,因为即使你懂某个知识,但是面试官换个问法,你不一定知道他想问什么,这种情况看面筋格外有用,看书是涨内功,面筋是招式,二者缺一不可。

    网络

  • 这是后台开发所必须必须必须掌握的知识,内功必须要扎实,TCP/IP协议详解(协议),Unix网络编程(卷一)这是必须要看的。但是光看这些你应付不了面试,比如曾经有个面试官问我Epoll为什么要用红黑树不用hashmap,Java的NIO有哪些著名的bug(Epoll空转),这种东西看书基本遇不到,不看看面筋还真不行。这也是为什么很多人明明看了很多书,结果一去面试,发现面试官问的问题很奇怪的原因。关于网络,问的最多的就是TCP粘包问题以及解决思路,这个要是面试官没问到过,那可以肯定那个面试官自己的工作内容,他没做过自定义网络协议这一块。由于我自己面试横跨基础架构组件到应用层开发,因此对网络这块感触颇深,对于后台开发而言,网络这块内容,是你职业生涯中遇到bug数量较多的一个部分。

    数据库

  • 我是数据库渣渣,很多面试官自己对数据库也基本忘的差不多了,因此问起来基本就是索引,事务,以及备份,SQL语句优化。面试官自己水准一般,那就问的一般,面试官自己很强,那就不是一般难搞。这块内容可以速成,但是职业生涯想往上走,数据库是避不开的大坑。这块内容我就不误人子弟了。

    体系结构

  • 很多人面试不会被直接问体系结构,但是体系结构横跨上述所有内容,局部性原理,存储器速度差异(和磁盘有关的问题基本是这个原理),异常机制(超级大坑),CPU缓存冲突等在上述每个部分都会用到,面试官不会直接问你体系结构的知识,但是到了总监及其以上的面试,会问你很多设计的题目,这需要你有较好的体系结构基础。这都8102年了,技术思维还是要乘早进入云时代,再不济也要进入集群时代,思路要是还是在单机单cpu时代,那我也没办法了。大厂非常看基础,除非缺人缺的厉害,否则基础压倒一切。

    编程语言

    Java

  • 大牛都是说语言无所谓,实际上对于我等凡人,你选什么语言,就意味着你可能去哪些公司的哪些部门(你几乎去不了另外一门语言的那些部门,除非你足够优秀,否则还是乘早确定编程语言)。Java必问集合框架,要是你够强,基本会被问到并发集合框架,volatile Synchronized这是必问的,问到什么程度就看面试官自己是什么水准了,大厂volatile基本要到汇编是怎么做的,Synchronized基本要问到mark word,Java面试的另外一个重头戏就是内存布局,垃圾回收,这部分内容做Java的一定要系统复习,深刻理解。Java还有一个特点是框架特别多,你要是一个都不懂,那你Java还是停留在远古时代,常用的流行框架,还是要熟悉,这个熟悉不是指你用的多溜,你得掌握框架的原理,还能横向对比各种框架的优缺点。此外做Java一定要关注开源,阿里特别注重这点,面Java岗位,面试时间有一半是在问Java,而C++面试,关于C++语言基础基本问的少,下面讲一下C++的面试套路。

    C++

  • 我等凡人选择C++,就要做好被这个语言虐的准备,但是奈何熊场,鹅厂的核心部门都是用C++做后台,即便有用go人家也是认C++出身的,而不是Java出身的,当然你如果只是为了进大厂而不关注具体部门那当我没说这事(大厂因为大,所以部门与部门之间的差距比公司与公司之间差距还大,虽然你们是同一个公司,但是BG之间差异性还是存在的,二线互联网的核心部门要比一线互联网公司的边缘部门在技术成长性上来说是要好的,鹅场社招进来的很多大牛第一份工作都不是一线互联网公司,但是绝大部分都是他所在公司的核心部门,因为技术的成长是看你面对的问题复杂不复杂,困难不困难,是不是核心业务)。闲话少叙,C++面试,关于C++语言本身的内容不会面太深,这部分面试官比较相信笔试和手写代码,面到智能指针就差不多了,至于C++更高级的一些东西,很多厂C++11都不完美支持,别说什么其他了。另外STL还是要比较熟的,这个是常用的也是常面的。至于C++的其他面试,基本都是在面操作系统,数据结构与算法,网络编程,以及Linux的很多命令(这个是神坑,有些面试官觉得这个可以不掌握,有些面试官就死磕,觉得这些命令一定要掌握),具体的一些命令都是和性能调优有关,看CPU,看IO,看内存,看套接字,看线程等,各种命令满天飞,还有GDB(这个没掌握也说不过去了)。对了,熟悉PB,理解其原理绝对是你的优势项(走网络必须序列化,大家都是想尽办法压缩传输内容,序列化的内容还是要掌握一下比较好)。至于其他的,基本都是看面试官自己了,没什么重复的,我在面wxg面委的时候,还被我问对称加密,非对称加密,面试生涯,这是唯一的的一次被问这个问题,所以很多时候面试还是看运气的。

    Go

  • 之所以把这个单独列出来,是为了讲协程,微信自己开源了个C++的协程库,Go自带协程光环,弄懂协程的原理,弄懂协程调度机制,真的是个大的加分项,头条面试官说自己最大的感悟就是Go真的是个人写的语言(Go的一大优势就是可以用同步的写法写出异步的效果,头条面试官语,顺带说一下头条深圳这边后台用Go哦)。而且我能告诉你的是,腾讯这边很多和云相关的开发语言也基本是Go和Java了,而且腾讯云独立应该也是这两年的事情了,今天的云头条还报道了这事。有志于云计算开发的童鞋可以重点掌握一下这个内容。

    杂项

  • 这部分内容随缘吧,我面java人家问我64位指针压缩,面c++问我虚函数前面是否可以加inline(可以加,不报错,没有任何卵用就是了),还有人问我协程机制(好在我涉猎广泛,对go,java,c++协程机制均有一定了解),还有问我微信的附近的人这个功能如何实现(空间索引R树以及geo-hash),阿里面试官和我死磕死锁(这个问题,真是闻者伤心,听者落泪),什么内存池,线程池是怎么实现的都是被问过的,这也没法突击,看自己积累,答不上来也没关系,就据实回答,能回答上来也是加分项。
  • 我的经历不适合复制,一是因为换编程语言,成本很高,二是因为你不一定像我一样能遇到那么多大神(校友,同学,师兄师姐等)帮你递简历,帮你内推(内推要直达到有分量的技术Leader,你海投的那种内推,作用微乎其微),三是像我这种横跨不同领域面试,需要积累的比较多,基本27面面试,面试内容相同的寥寥无几(虽然都是后台开发,领域差别极大,有基础组件开发,有面向业务编程,有系统架构编程,每个领域的面试经验都无法复用),因此建议大家一定要早早确定编程语言,确定自己的方向,提前和师兄师姐等联系好,剩下的看你自己运气和实力了。

    总结

  • 早早刷牛客,早早刷题,早早确定编程语言,确定自己想做的方向,扎扎实实复习,及时调整心态。祝大家秋招顺利。
#春招##秋招##面经#
全部评论
只想点赞,能有精力面27次,很厉害了
点赞 回复
分享
发布于 2018-09-20 10:27
那么epoll为什么要用红黑树。。
点赞 回复
分享
发布于 2018-09-20 11:10
英特尔
校招火热招聘中
官网直投
27面。。。厉害啊
点赞 回复
分享
发布于 2018-09-20 14:26
楼主好棒!
点赞 回复
分享
发布于 2018-09-20 21:00
楼主是专硕吗还是本科大佬?
点赞 回复
分享
发布于 2018-09-20 21:01
大佬几时面了腾讯的正式批?开始了吗?
点赞 回复
分享
发布于 2018-09-21 17:43
网络编程只看书可以吗,以前没接触过😥
点赞 回复
分享
发布于 2020-03-07 23:43

相关推荐

18 145 评论
分享
牛客网
牛客企业服务