秋招面经合集前端大作战!

lanqiao 发表了文章 • 0 个评论 • 12 次浏览 • 21 小时前 • 来自相关话题

作者:天黑啃树皮 经历了将近一个月的选offer的焦心过程,最终决定去拼多多了,现在决定回馈一波牛友们,就是靠着牛友们的分享拿到了还不错的offer,当然不能和985的大佬们比,小菜鸡自己觉得秋招的结果还算是满意的了。 ...查看全部
作者:天黑啃树皮

经历了将近一个月的选offer的焦心过程,最终决定去拼多多了,现在决定回馈一波牛友们,就是靠着牛友们的分享拿到了还不错的offer,当然不能和985的大佬们比,小菜鸡自己觉得秋招的结果还算是满意的了。
 
offer情况:拼多多、华为(小sp)、地平线(sp)、360企业安全、滴滴(只给北京的offer,再三确认,杭州没有hc了,直接拒了 )。
 
秋招面试的公司:BAT、TWD、有赞,以及其他拿到offer的4家公司。按照我面试的时间顺序开始记录面经吧。
 
阿里(内推,有两次面试,一个是在阿里的班导给我找了阿里的前端负责人直接面的,是非正式的面试,就是帮我评估实力的)
 
阿里非正式面试(秋招第一家面试,7.15号面的,在西溪园区)
1、讲一下继承,有点紧张,讲了继承方法的名字,着重问了原型链和构造函数,组合构造函数,寄生组合构造函数,讲了代码级别上的实现。
2、说到继承,又问了我class了解不了解,我说了解一下,问了我class继承,这个没有答上来。
3、讲了一下项目,better-scoll的实现原理,为什么要用better-scoll,能不能用原生的css实现这个滚动效果,这个没有回答上来,被评价css基础薄弱
4、问了vue的双向绑定实现的原理,我回答出来了,但是讲的不够流畅,还是基础不够扎实
5、问了webpack的理解
6、html5的新特性和css3的新特性,html5讲了webstorage,webscoket,然后就问了我客户端的存储有哪些,讲了webstorage的localstorage、sessionstorage、globalstorage(html5用localstorage被取代掉了),还有cookie,问了我cookie和localstorage的区别,cookie还没讲完,又出了个场景,,浏览一个网站,选择条件的存储,用cookie还是localstorage,我答了localstorage,问了理解,我说是因为cookie要发送到服务器,,面试官说主要原因是过期时间
7、问了webpack的理解
8、vue父子组件通信的实现机理,,这个刚开始讲错了,,然后才讲对的,问了我如果有多层的父子组件,用什么通信,知道vue里面有这个东西,但是实现想不起来了名字了,就讲了如果自己来设计这个功能的实现思路。
 
被评价:原生js基础不错,和浏览器交互有一定理解,css基础薄弱,社区的东西了解的不多,代码深度也还不够,,目前的水平和简历想以前端开发进阿里,几乎不太可能,但是拿到实习offer还是没问题,问我愿意不愿意来实习,我拒绝了,因为实验室不让实习
当然啦,在我眼里,自己全世界最牛逼,不接受反驳,,哈哈哈哈,开玩笑啦,,还是要给自己打打气的,我觉得我还可以再抢救一下,各位牛友们,加油加油!(也是当时的心情了,真是无知得可爱呀,之前一直在看书,而且觉得自己都似乎会了,回过头来看,这次面试,让我看到了大厂要求和自己实力的差距,我觉得帮了我很多,让我对面试的深度,和问什么,都有了进一步的理解)
 
 
阿里正式内推面试
阿里一面(8月13号)
1、问项目,第一个项目vue做的web app,整体大概的讲了一下,问了遇到的最大的问题是什么
2、问了vue组件之间的通信
3、问了webpack配置的一些东西,
4、问项目,问我的业务建模项目,这个是杭电、阿里、浙大三方合作的项目,然后讲了一下,问了个开放式问题,如果leader对建模的思想和你完全不一样,怎么半
5、讲一下页面请求的整个过程,讲了下,讲得非常的细节,讲到了浏览器收到响应报文,,就被打乱了,说不用讲了
6、问了es6,问我那些比较熟悉,讲了let、const、箭头函数、promise一些名词,然后说那你说一下Generator吧,我大致讲了一下,,这块觉得讲的不好,主要讲了语法的一些东西,没有讲得很深
7、问我css掌握的怎么样,了解到什么程度了,我就说对各式布局比较熟悉,尤其flex布局,还讲了css 继承、优先级、层叠啥的,还讲了一些css用到的一些技能,margin-left负值这些
 
差不多面了1个小时吧,大部分都是开放式的问题,问你了解不了解,然后你讲了,再继续深入问,总体来说,我觉得问的不深,比较简单。
 
阿里二面(8月18号)
当时没有做记录,能想起来的不多了,其实,阿里的二面是我当时面到当时,觉得回答的最流畅的一面了,真的是信心满满的有三面的,不过也是二面挂
只能记得问我es6了解不?我整本书都讲了一下。
面试结束的适合,,我问面试官我表现怎么样,有希望进行下一环节嘛,面试官说我基本还不错,不过项目开发经验太少了,而且社区的东西了解较少,也没有源码阅读经验。。。估计就是因为这些挂了/
 
华为(7月18号吧,我们是参加了比赛,参加了华为的优招)
一面(业务面)
只聊了项目,我花了项目的框架图吧,就是讲了一下,然后我想讲一下技术的东西,也不需要,评价我思路很清晰,就过了,真的很easy~
 
二面
有点小波折,刚开始面了中央软件园,但是面试官一拿到我的简历就说,我们这边不需要前端呀,你怎么报名了我们的部门,我当时心里一紧,马上镇定,我说,功课没有做到位,是我的失误,不管这不影响面试的,您先面我,如果觉得我不错,再把我安利给其他的部门,我也是今天才知道cloud bu前端需求蛮大的,您到时候可以安利我过去。面试官忙说,,面试还是要面的。
1、进程和线程的区别
2、多线程,其实前端没有多线程,js是单线程的,我就讲了浏览器的多线程这块
3、问了编译原理,我不会,本科也没有学过,面试官表示计算机专业没有学过这个很不应该,我表示,我本科是财经院校的计算机专业,有些课程做了一些删减了。
 
其实,感觉面试官真的不想要我,结束的时候,我说,感觉你们真的不需要前端诶,,要不,您到时候就把我安利给cloud bu吧,,面试官感觉一下子放松下来了,说,对对对,我们确实不需要前端,,这样子吧,我把你的简历拿到他们看一下,如果ok的话,你再面一次他们部门好了,然后我等了一会,又面了一次cloud bu,问的问题都比较简单的,就是项目,然后为何选择华为,很轻松的通过了。。
 
tips:我自己觉得自己是一个做事非常主动出击的人,百度、华为的面试都体现了这点,,甚至我360面试的时候,hr问了我面了哪些其他公司,我就讲了这些公司的面试坎坷趣事,尤其百度的乌龙,hr说觉得我做事很主动,这点很好,他蛮欣赏我的做事风格的,我一直以为是自己脸皮厚呢,当时心里觉得蛮高校的。反正,,秋招主动点,不要怕丢人。
 
 
百度(内推,8月16号面的,一天面完3面,都是视频面试)
一面
1、问我有没有用过 git,尴尬的回答没有
2、问我有没有和后端联调过,比如跨域,回答了跨域很多方法
3、问了我闭包,回答了一下,问我闭包怎么实现模块化,这里也回答了一下,回答着回答 着想起了 es6 的模块化,觉得有异曲同工之妙,就一起讲了
4、vue,问了我钩子函数吧,created 和 mounted 的区别,讲了后,问了我$refs 是用***嘛 的,写在 mounted 还是 created 里面,我回答了写在 mounted,并说明了原因,5、问了 Object.assign 的用法,
6、vue.computed 和 watch 了解不了解
7、npm run dev 是干嘛的
8、平时通过什么学习,用过 w3c school 嘛,了解 MDN(一个前端学习网站,老高推荐 过)
9、一面没有问任何项目!!!
二面
1、先问我一面问了啥,说一面评价很好,但是没有写问题,

一个非科班普通211硕士如何拿到腾讯、百度等offer

lanqiao 发表了文章 • 0 个评论 • 53 次浏览 • 3 天前 • 来自相关话题

作者:一棵向阳树_ 背景介绍 北交大的一名通信专业的硕士研究生,实验室做的方向是信息网络,找工作的方向是C++工程师。整个找工作的收获是这样的:春招拿到了腾讯和百度的实习offer,秋招拿到了腾讯、百度、美团、小米、京东、搜狗、爱奇 ...查看全部
作者:一棵向阳树_
背景介绍
北交大的一名通信专业的硕士研究生,实验室做的方向是信息网络,找工作的方向是C++工程师。整个找工作的收获是这样的:春招拿到了腾讯和百度的实习offer,秋招拿到了腾讯、百度、美团、小米、京东、搜狗、爱奇艺的offer,其中腾讯是白菜、百度是SP+、其他都是SSP。我是从去年10月份开始准备秋招的,整个过程比较漫长,期间也看了许多牛客大佬的分享,收益良多,所以希望能够在这里回馈一波,从个人经历以及如何备战秋招两个方面来探讨怎样才能找到一个好的工作。
个人经历楼主本科是哈工程的一名通信专业学生,综合成绩在全学院是前5%的水平。本科期间对于计算机软件可以说是一个彻彻底底的小白,只是自学了一点c++、java语言。后来保研到北交大以后,基本抛弃学业,开始积累实战经验,由于自己爱好广泛,硕士期间自学了很多东西包括Android、大数据、机器学习、linux服务器等等。参加的比赛包括两个机器学习的算法比赛以及研究生数学建模。可以说在备战秋招之前,除了完成实验室安排的任务以外其他时间都是在丰富个人经历以及填充知识空白。总体上感觉个人经历这一块在找工作的过程中确实是有加分的,所以建议非科班的学生,实验室没有相关项目,就靠参加比赛来丰富经历吧。
如何备战秋招 其实对于后台方向的工程师,秋招备战真的十分简单,把时间规划好,一步一步来就可以。下面先罗列一下相关书籍:
语言:
《c++ primer》《stl源码剖析》《深度探索C++对象模型》,面试考点集中在虚函数、虚继承、vector等容器的底层实现以及一些c++新特性上。对于面试来说除了以上三本其他书都没必要读,因为楼主读过《effective c++》等其他书,在面试的过程中几乎没遇到过相关考题。网络:
谢希仁的《计算机网络》,这本书足够应对所有面试了,主要考点在TCP和UDP区别,TCP三次握手、四次挥手。
操作系统:《现代操作系统》,我的经验是有时间就看书,没时间就看网上博客,因为操作系统的书一般都讲的比较晦涩难懂,不如一些好的博客讲的更容易让人理解。面试题主要集中在文件系统、进程线程、进程间通信、线程同步、程序内存空间这几个方面。
数据结构与算法:
《大话数据结构》以及牛客网《剑指offer》和《leetcode经典编程题》,一句话:看书+刷题。就个人经验来说,面试中二叉树和排序相关算法考的最多,其次是深度优先遍历、回溯和动态规划。排序算法比较常考的是快排、堆排、归并排,还有基于快排和堆排思想的topK算法(这些都要会手写)。二叉树主要是树的前、中、后序遍历(递归和非递归,最好能手写),层次遍历,树上两个节点最远距离、树和有序链表互相转化,两节点最近公共父节点,其他还有许多,暂时想不起来了。深度优先遍历(dfs)、回溯、动态规划主要是笔试题用的多,不过最好能够手写一些经典算法,比如01背包、最长公共子序列以及其推导公式。如果感兴趣的话可以了解一下dfs、回溯、贪心以及动态规划之前的联系和区别。
Linux服务器:《linux多线程服务器编程》,这本书主要是可以多了解一些概念,包括socket编程、各种同步锁。除此之外可以看看博客学习一下io多路复用、负载均衡、一致性哈希、线程池、对象池、任务队列等等
数据库:《redis设计与实现》《高性能mysql》,c++面试对于数据库的要求没有java高,我遇到的面试题主要是,redis的5种数据类型、redis的单线程实现、redis集群高可用;mysql引擎、索引、事务特性、隔离级别、脏读、幻读等。
大数据和机器学习:这两点只是面试中的加分项,时间充裕的话可以了解一下,在面试中如果有相关经历,面试官会觉得你是一个很全面的人,适合以后培养。
 
对于以上内容可以这样安排自己的学习计划:
一个月学习语言,两个月学习数据结构以及刷题,再剩下三个月学习其他知识顺带刷博客和面经,半年时间差不多就可以找个比较不错的工作了。根据个人实际情况,可以调整自己的学习计划,我在这里只是一个很初步的建议。对于想要拿到BAT级别以及更好的offer的同学可以在在自己感兴趣的方向深挖一下,面试的时候主动引导面试官往自己擅长的方向提问。
总结想和科班出身的同学同场竞技,真的需要更多的努力,花出比别人更多的时间。这个过程中孤独感,恐慌感,挫败感都会有,无聊感也会有,不过坚持下来收获还是很明显的。哈哈,最后再说一下面试技巧,1.逻辑清晰;2.突出自身亮点;3.学会引导面试官;4.有耐心、谦逊、懂礼貌。
PS:这里把我的经验拿出来给大家作为一个参考,观点可能并不完全正确,只是希望可以帮助到和我差不多背景的同学。
 
最后的最后,祝大家都有满意的offer~

关于找工作,说点对后人有用的话(内附机器学习算法岗面经)

lanqiao 发表了文章 • 0 个评论 • 5 次浏览 • 2018-11-06 11:11 • 来自相关话题

作者:本体匹配调谐写在前面 大家好,相信大家对于我这个ID并不陌生了,这个ID其实是我硕士论文的题目。过去一年一直在牛客网上看到了很多高质量的面经和一些对自己有用的帖子,受益很多,在这里也要特别感谢下叶神创立的牛客网(这是一件非常有意义的事)。所以 ...查看全部
作者:本体匹配调谐写在前面
大家好,相信大家对于我这个ID并不陌生了,这个ID其实是我硕士论文的题目。过去一年一直在牛客网上看到了很多高质量的面经和一些对自己有用的帖子,受益很多,在这里也要特别感谢下叶神创立的牛客网(这是一件非常有意义的事)。所以秋招结束后,我也一直想从我求职的亲身经历包括我看到的身边的人的一些情况出发,写一个这样的帖子回馈牛客。我想写得很认真,就是希望自己能做一些有意义的事情,目的只有一个就是能真正帮到后面要找工作的同学(就像一年前我受到其他人写的帖子对我的帮助一样),希望能把这些有意义的东西在牛客网传承下去。这个帖子的内容大概可以分成五个部分吧:个人读研和准备秋招的经历、秋招面经、秋招的零碎感受、推荐的学习方法与资料、最后的话
 
【注】:这篇帖子的内容仅仅代表我个人的观点,肯定有些观点不够客观,但是我的初衷就是想做点有意义的事,希望真正帮助到大家。大家觉得有道理的就听下,没有道理的可以直接忽略。
 
先介绍一下我的基本情况:本科双非一本,硕士985,都是科班出身。然后是我最终的offer情况,因为自己之前找工作的目标比较明确,只想去一些Big Name名气比较大的公司(算法岗)。所以也只投了BAT、网易等其他一些中厂,并没有投太多公司。
 
最终收获了三个offer:
1、华为消费者BG(终端)云服务 算法工程师岗位 SP 14级。
2、小米南京 普通开发岗位 白菜价。
3、百度共享技术平台部(SRE) AI研发工程师岗位 白菜价。
最终主要考虑大厂光环的因素选择了百度SRE,说实话这个岗位也不能算是我理想中那种纯贴业务的机器学习算法工程师,还是有点区别的,就算是打了算法工程师的擦边球吧。所以我也是菜鸟,跟巨佬们手里的无人车、凤巢、大搜、微信、阿里妈妈啥的牛逼算法offer没法比,当然后面我也会分享自己的渣渣面经。1、个人读研和准备秋招的经历:
秋招想找机器学习、数据挖掘算法工程师的工作,其实当初就是觉得这个岗位可能好找工作一点毕竟AI很火(但实际上打脸了并不好找),然后过去研一、研二一直在准备这方面的东西目标比较明确,还有就是觉得这个世界、中国的发展后面是不会缺数据的,做一些围绕数据的工作(机器学习)在很长时间内不会被淘汰,而且看了Kaggle、天池、DF的一些比赛,觉得这种还是能解决很多很多实际问题的,很有趣也很有意义。所以,研一刚来东大就开始想做这方面的事情了,先是自己瞎摸索,看看西瓜书、统计学习方法什么的觉得太枯燥然后就看看机器学习实战相对比较有趣一点,后来尝试自己做一些Kaggle、Titanic这种入门级的比赛、自得其乐因为可以解决实际生活中的问题,但是自己的进步还是太慢了。
 
后来上课时一次偶然的机会,从同学口中得知有个实验室的学长曾经拿过天池比赛的亚军和Top10,非常厉害但是为人很低调所以知道的人不多,那个学长跟我在同一层楼(计算机楼4楼),老师也跟我老师一个团队的。问我同学要了这个学长的联系方式,于是在某一天傍晚的时候我鼓起勇气找到了那个学长,求他以后还有比赛的时候能带上我一块参加,学长人超级好没有拒绝我,还耐心给我解答了很多的问题,至今特别感谢他。在研一上冬天快来的时候,我把握住了机会跟这个学长一起参加了DF上客户用电异常行为分析的比赛,接近两个月的时间里,虽然最终没有能取得特别好的名次,但是那段时间是我读研最快乐的时光,全身心地投入了这个比赛,他跟我说思路,我学习他的思路,然后负责思路实现的所有Coding工作。这个过程真的跟着这个学长学到好多好多东西,远不是自己摸索能达到的程度:怎么针对特定数据做特定的数据清洗、线下线上怎么同步、不平衡的处理等......跟优秀的人一块工作是特别快乐的,这里也给想打好比赛的同学一个建议:想要快速提高最好的方式就是一定要能找到一个真正厉害的人带着你一块进步,一个人搞很难得到快速提升。接着是寒假快开始的时候的一次比赛:IJCAI2017天池口碑客流量预测比赛,这次一直持续到研一下开学的前几周,那次寒假就相当于一直在搞这个了,具体过程非常艰辛这里就不多说了,唯一不同的是这次基本是一个人在瞎搞,也差不多搞了两个月多吧其实还是付出了很多心血的,最后是实现了我当时的小梦想:在比赛临近快结束的时候,打入天池的首页,并且差不多呆了好几天,哈哈,之前从来没想过自己也能凭一己之力到天池的首页去,反正当时就是超级开心。看着自己的名次从500多名几乎因为找不到好的方法快要放弃了,到探索出到关键的方法上升到200多名,100多名,50多名,30多名到天池首页14名......虽然最后还是实力不济掉了下去,但这个过程确实是很锻炼人。研一主要就是背着老师偷偷地参加了两次比较高质量的机器学习、数据挖掘竞赛(刚来实验室就知道我的研究方向没前途,为了自己前途就抓紧偷偷搞点比赛了),反正基本没怎么去上课所以有充足的时间弄自己感兴趣的东西吧。研一下还有剩下的时间就被我老师逼着弄论文,东西很难其实还是非常有压力的因为老师不指导我但要我出科研成果。不过这个阶段我很幸运地认识了另一个读研阶段对我很有影响的人:一个东大计院 & 吴健雄学院超级牛的本科生(后来全奖直博去了美国伊利诺伊大学香槟分校),忐忑地花了差不多一个月时间看懂了他写的代码、理解了他代码里的每一个细节,后来我们两个人就合力把科研里比较重要的一个点给实现了。这个过程我同样跟着这位大牛本科生学到很多,真的没想到自己读研会跟如此优秀的同学一块工作一个学期,感觉自己真的赚了哈哈。所以,整个研一主要的成果就是跟着天池的亚军学长做了两次高质量的数据挖掘竞赛,然后跟着UIUC的直博生做出了科研的一个点,所以我研一虽然没怎么参加活动但还是过得很充实的。
接着是最黑暗的研二,庆幸自己研一的时候抓紧时间拼了命地做了那些对我自身前途真的有用的事情救赎了自己,因为研二我再也没时间做这些比赛什么自己感兴趣的东西了。研二学院要开题大家就都在准备开题,你们真的想象不出自己的导师对科研要求贼高、学生有很大科研压力但是自己已经不懂学术指导不了你、并且给你的科研题目是根本从技术上做不了或者毫无意义的东西、并且因为看到你做不出来或者告诉他做不了而当众对你冷嘲热讽是一种什么样的感受?所有的东西我都在一个老师身上看到了,只能说无比酸爽,只能忍着。研二上反正是我老师让我做什么我就做什么,不管能不能做,他说什么就是什么照着去做,这样子的状态持续了一个学期左右,到学期末肯定是没有能找出一个像样的题目可以开(根本就是做不了的东西还能指望怎么写开题报告?)嗯,没错就是差不多浪费了大半个学期时间。过了一个寒假就到了研二下,那时候心态真的崩,身边的同学基本开题都在上学期开完了,都在准备春招找实习了,可我开题都还没开。看老师的意思就是不找出一个高质量的题目就是开不了,后来实在没办法,强行在研一下的成果上加了几个点把他忽悠过去让我开题了。总算把题开完了过了这个劫终于能参加秋招了,后面就是断断续续地看书、刷题、偶尔投个春招实习面面,这样的状态一直持续到6月末。这个时候华为南京FX的招聘项目启动了,从这个项目起我的秋招找工作之路就开始了,接下来就是我的秋招面经。(PS:当然暑假找工作的时候其实我的心情也超级差,因为我那傻叉导师居然这个时候了还强迫自己参加一个毫无意义的学术竞赛:很多track工作量真的特别大。没办法只能照做,时间肯定是被这个耽误掉很多的,难受的一比)2、秋招面经华为FX:消费者BG云服务
坐标:华为南研所,时间:6月末7月初,面试岗位:机器学习算法工程师
这个项目FX相当于就是华为的sssp的性质吧,反正就是找几个极其优秀的大佬出来,不清楚别的城市的华为有没有这个项目,反正我去面试的时候基本都是南京地区的高校。建议后面南京地区高校的同学都去投递一下,因为即使你拿不到FX的offer后面也是可以回退到优招序列的,而且这个批次基本不会进入备胎池,官网显示录用排序中就基本上能拿offer了,所以还是很保险的一个项目,我觉得华为手机卖的不错,就报了个自己感兴趣的部门:终端消费者BG云服务,有很多环节吧:简历筛选、现场交流投递简历、笔试等,相当于是秋招开始自己的第一次正式面试了。
电话面:
  1. 介绍自己的口碑比赛,亮点和难点是什么?
  2. HashSet和ArrayList的区别?Python和Java的多线程?
  3. 介绍一下部门相关的工作。

一面:
跟电话面同一个面试官,对我电话里已经有基本的了解了,所以没怎么问,聊了人生。
二面:
一个主管级别的人,介绍一下科研的项目,以及其他一些零碎的关于项目的东西和技术,主要感觉是考察我这个人怎么样,靠不靠谱。
hr面:
一些常规的问题,是个从华为海外工作了十几年的大佬,很和善。虽然他的地位很高,但是说话很谦虚很和蔼,值得我去学习。
结果:
7月末拿到了秋招、也是人生中的第一个offer,这个offer让我在后面的秋招过程中都没有很慌的感觉,感谢华为消费者BG云服务。这个部门据说是华为南研所最好、最赚钱的部门了,如果有在南京定居的打算的话是很不错的选择。高德地图
视频远程面试,时间:7月6号,面试岗位:机器学习算法工程师
这个是看到牛客网有次有人发的内推信息就投了简历,主要是看这个高德地图被阿里巴巴收购了,虽然肯定不是纯正阿里但是也算是自带点阿里光环。后来hr加了微信,安排了线下的视频面试,当时简历被筛选出来还很开心于是约的7月6号下午14:00的面试,一个人在实验室忐忑地等着面试,没想到等了差不多45分钟还没来面试,联系了hr才知道面试官都忘了,真的很无语这种迟到的面试官:一个秃了大半个头戴着眼镜的40多岁的人。
一面:
  1. 让我介绍下偷电的比赛。
  2. 让我说几个熟悉的模型,我说了随机森林。都说完了夸我讲的很清楚很完整。
  3. 手撕代码:LeetCode easy的一道Fizz Buzz。

结果:
一面直接挂,因为是头几次面试,而且面试感觉还是不错的,也都回答出来了,居然挂了,真的是相当的难受。也许是我做的比赛他们觉得太LOW或者我学历太LOW吧,反正不知道高德地图原来被阿里收购了以后这么吊,打扰了。苏州微软暑期名校优招
坐标:东大计算机楼,时间:7月17号,面试岗位:机器学习算法工程师
这个项目相当于是苏州微软提前的线下校园招聘吧,好像有四站:中科大、浙大、南大和东大。笔试面试地点都在计算机楼所以走几步就到了,先是hr现场发卷子笔试,一共两道编程题,有一道忘了,还有一道是合并两个有序链表,做完了现场通知笔试结果,有面试资格的直接开始面试,地点在四楼的一个会议室。
一面:
  1. 稍微让我介绍下偷电的比赛。
  2. 白纸手写代码:平面上有很多个点,判断他们是否能被两条直线全部穿过?
  3. 白纸手写代码:给定一个精度,要求实现sqrt函数。

二面:
  1. 白纸手写代码:给定一个数K,找出这样的a和b使得a^2 + b^2 = K。
  2. 看我研究知识图谱的,介绍什么是知识图谱?他是微软Bing知识图谱小组的,然后给了我很多开放性的题目,我也学到很多吧。比如Bing搜索结果右边栏的实体推荐可能是怎么实现的?为什么这么快?怎么去动态更新等等,小哥看上去很年轻像刚毕业的,给我讲了很多工业界落地的细节,真的受益匪浅。
  3. 还有一些基础:怎么建堆?证明时间为什么建堆是线性的等。

三面:
  1. 用英文跟我嗨了半个小时,让我用英文解释随机森林啥的,我用我蹩脚的英文强行跟他尬聊了半个小时。后来就直接开始虐我了,因为那时候我还没开始刷LeetCode很多还不怎么会做,本来算法就渣。
  2. 白纸手写代码:LeetCode hard 第44题,通配符匹配 20min。
  3. 白纸手写代码:也是LeetCode上的LCA最近公共祖先的变种,要求找出所有的公共祖先并打印出来 20min。

结果:
三面两道都没有写出来直接挂了,由此可见我算法有多菜逼确实刷题太少了。从微软面试结束以后我真正意识到了算法的重要性,疯狂地去刷LeetCode了。
总结:
微软这种属于外企顶尖名企,外企的一些面试就不要想着项目不项目了,都是直接手撕代码加一点开放性的问题,所以外企的面试多刷LeetCode把算法好好准备好就行,算法不行微软、谷歌这种大厂很难进去。阿里巴巴集团 口碑BU
电话远程面试,时间:7月25号晚上8:30,面试岗位:机器学习算法工程师
秋招第一个面的互联网大厂,找人内推的口碑BU,因为之前做过口碑的天池比赛也取得了一定的成绩,所以觉得报这个BU的话可能经历更matching,拿offer的几率更大一点。官网完善了简历没过几天就联系面试了,面试官是一个非常Nice的东大校友。
一面:
  1. 让我介绍偷电和口碑两次比赛中有什么亮点想跟他说的?(这里给了我一个小时)下面是一些相关问题:
  2. 树模型对连续型、离散型特征有一套统一的理论,是什么?
  3. 树模型在数据挖掘竞赛中的优势?
  4. 在线写代码:实现两个String的加法,相当于是模拟大数相加。
  5. 海量数据处理:5亿条数据做排序,内存有限怎么排?(我的回答是经典的分治 + 归并,但是最优解是字典树)
  6. 概率题:有一个随机数生成器,不断生成[0,1]的浮点数n次,把这n个数放入到一个数组中,但是这个数组里面的值你都看不到是个黑箱,要求用概率的角度分析出第K小的数是什么?
  7. 开放性问题:已知某口碑用户的物理坐标(x0,y0),要求在500ms内返回出离用户最近的100家店铺,其中有10万个店铺做候选,该怎么做?(不能算距离值,所以不是对数组的一个简单的TopK问题,所以不能用最小的K个数这种partition思路、大根堆来求解)后来面试官提示我是一种数据结构,当时没回答出来,后来才知道是KD树。
  8. 开放性问题:给你100万,设计一种红包分发策略,要求用户安装口碑app的人数最多。(抽象建模很困难,每个用户对红包容忍度不同,有的用户给3块就会安装口碑,有的要给30……要你设计出一种策略使最后安装人数最多)

总结:
第一次体会到互联网大厂的专业面试,面试体验非常非常好。后来才知道面试官跟我是校友,是10年前东大自动化毕业的。面试官一上来就给了自己一个小时让我尽情地把我想说的话、比赛的一些亮点都跟他讲一遍,而且特别认真地在在听我讲很尊重我,真的特别感谢一面的面试官,给我留下了特别好的印象。在面试的过程中,不仅题目难度不偏不倚、很专业,而且我还能从中学到很多很多东西,真的觉得学校做的东西跟工业界差好多,更坚定了以后要去工业界做算法业务落地的工作。然后是现场在线手写算法,他在一端看着你写代码,还是蛮紧张的,所以平时刷算法的时候就要当成面试现场来训练,看到算法题一开始能想出大概的思路就好做了;还有知识的广度得有,比如字典树、KD树神马的比较重要的东西我都没复习到,所以这些计算机经典的知识平时要有一定广度的积累。总之,这次面试是我整个秋招过程中体验最好的一次面试。
二面:
二面说来话长,听内推人说是一个女博士,本来是8月1号差不多下午4点50的时候电话打过来的,但是那时候我跟我基友在外面,所以只面了十几分钟,因为在外面听不清楚的缘故约了2号早上的11点,其实这一面面试官还是很和蔼的听上去像个学姐一样温和,然后我也讲的很爽。但是第二天早上11点她打过来的时候,真的就像变了一个人一样,语气很凶,把我按在地上摩擦,当我好好回答了一个问题的时候,她一句“同学同学,这不是在上课这是面试,我必须要知道你跟别的同学的优势在哪里?”把我噎住了,反正后面就是虐我吧,感觉他看不出我身上的优势,然后就把我挂了,心塞的一比,很难受还以为可以一直顺利到后面几面,看来是我想多了,还是太菜。还记得一些技术问题吧:
  1. 特征为什么要做归一化,归一化的三种方式各有什么优缺点?(确实不会)
  2. 归一化之后一般还要做什么?
  3. 树模型的优势?为什么说对离散、连续特征有统一的处理?
  4. 特征选择的方法?(我说我比赛里面两三千个特征做特征选择,被她嘲笑了一波:两三千个特征还要做特征选择啊?)
  5. 其他不记得了,感觉这些机器学习预处理的东西自己没准备太好,所以特征工程的一些理论的东西最好复习下吧:https://www.zhihu.com/question/29316149

总结:
二面这里感觉自己有点作死了,所以如果大家以后碰到我这种情况,千万不要擅自约面试官其他时间(感觉很没礼貌因为面试机会本身就是很宝贵的),面试本来就是受面试官心情影响的,也许那天傍晚人家心情好过一天心情不好自己的面试就会受影响,反正我是明显感觉到擅自改约了时间以后面试官的态度有很大的转变。当时应该立马去一个安静的地方,礼貌地打回去的,也是自己经验不足,希望大家这点留个心眼。腾讯秋招 IEG安全部门
电话远程面试,时间:8月09号下午14:00,面试岗位:后台策略安全
也是在暑期的内推阶段(不能实习的话就只能提前批积极点了),本来是听师兄说SNG那边算法坑可能比较多就投的SNG,没想到居然被IEG捞走了,这个岗位后台策略安全也不知道干嘛的,反正当时还是很高兴的,因为阿里挂了很疼,当时觉得只要有面试机会就有希望,心情也会好很多。这时候我的心态已经好很多了:只要自己尽力就行,结果随缘。
一面:
  1. 还是介绍CCF偷电的比赛,亮点和难点是什么(面试官是广东本地人有很强的广东口音)?
  2. 10%的已标签数据和90%的未标签数据,怎么处理这种问题?
  3. 对于错误型噪声怎么去识别和处理?
  4. C++学的怎么样?
  5. Python的内置字典怎么实现对value排序?
  6. 用shell怎么实现一个文件中的qq号出现次数统计?(不会shell说了Java)
  7. 树模型有什么优势?(几乎场场面试问,所以经典基础知识很重要)

结果:
过了一天看了join.qq的官网状态,变成了灰色,可能hc本来就不多,而且倾向于要C++的人吧,反正就是看不上我。
这里顺便再补充一下春招的腾讯面经吧,因为不能实习所以相当于随便投了一下体验体验,面的部门是MIG应用宝。腾讯春招 MIG应用宝
一面:
  1. 介绍偷电的比赛,清洗数据用的什么特殊的方法?为什么这么做?
  2. 逻辑回归里面是线性可分的,怎么做才能让它变成非线性可分?
  3. SGD你觉得在使用的过程中有什么缺点?
  4. 紧接着问你知道什么是在线学习吗?有没有看过谷歌的那篇论文?
  5. 为什么传统的机器学习方法在解决不平衡问题的时候会出现问题?
  6. 树模型(非线性模型)和线性模型的区别?树模型的优势是什么?
  7. 随机森林还是哪个模型忘了怎么才能学习出特征和特征之间的关系?

二面:
  1. 介绍天池的口碑比赛,跟前面的队伍差距在哪里?
  2. 逻辑回归里面SGD有时候步长设置的不对,收敛会出现问题,该怎么解决?(减小学习率或者增大Batch Size)
  3. 如果在逻辑回归模型里面有时一直收敛不到阈值以下的参数解,该怎么做?
  4. 逻辑回归里L1和L2正则化的区别?
  5. 一些优化方法的区别?(BGD、SGD等)
  6. 问我深度学习Deep Learning的一些知识?(不会)

结果
二面挂。逻辑回归的东西被问得还是很多的,也许是他们平时在业务里面就是用的逻辑回归吧,反正LR这种经典的模型肯定要精通的。
总结
后来正式秋招的时候做了笔试,到10月了就一直没有被通知面试,感觉今年腾讯秋招算法岗已经不怎么招人了。春招和秋招(内推 + 正式)都跟腾讯无缘,其实我个人还是很喜欢腾讯的,因为这家公司真正抓住了人与人的联系,连接一切的战略,个人感觉在BAT里是最有前景的,qq和微信这两款超级成功的产品也成为了老百姓生活中缺少不了的软件。反正校招是进不去腾讯了,不知道以后社招的时候还有没有可能去鹅厂啊......网易云音乐
地点:网易杭州总部,时间:2018年8月24号,岗位:数据挖掘算法工程师(内推阶段)
印象最深刻的一次面试。网易因为也是我比较想去的公司,毕竟名气还可以,就选了个逼格比较高的部门:网易云音乐,暑假一个下午做了笔试以后就在等笔试结果,那天回家傍晚收到了笔试通过的消息很高兴,因为无论如何可以去杭州面试了。第一次去杭州吧,24号开始的云音乐的面试,网易是有个公众号叫号的感觉效率比较高,本来是4点开始面试但是工作人员3点就叫我了搞得我很紧张因为当时还有很多没有复习好,就跟工作人员说先安排别的人,再看一个小时书抱抱佛脚(抱佛脚还是很管用的)。回来看到牛客网讨论区上好多人吐槽网易云音乐算法面试劝退,但是我觉得还好啊,面试体验还不错,可能是我运气比较好吧。
一面:
一面是一个很温柔的小姐姐很年轻大概不超过30岁,长得很漂亮,没有怎么为难我。
  1. 介绍口碑的比赛,口碑比赛没有全部讲完就停了。然后是问了一些常见的ML的算法问题。
  2. 讲一下RF,讲一下GBDT、XGBoost和RF三者的区别?(这里需要注意的是:不要以为别人问的问题简单就得意,每轮面试有面试评级,目标不是过这个面试,而是要刷高面试评级,即使简单的问题也要回答精彩和深入才可能得到高的面试评级,否则录用Ranking的时候会被刷。)
  3. 编程题也比较常规不难:把I am a Student. 翻转成 Student. a am I。
  4. 让我写一下信息增益、信息增益率、基尼系数三个公式。(抱佛脚很有用刷刷刷写出来了)
  5. 问我冒泡排序是否稳定?(我说不稳定,这个简直拉低了我的这次面试评级,由此可见基础有多重要)。

结果
几分钟后,公众号上显示面试通过,还是很高兴的,兴奋地等下一轮面试。
二面:
二面是一个略胖有点东北口音的人,态度感觉不是很好,心不在焉的样子。
  1. 手写冒泡排序,因为上一轮面试没把这个回答好,所以相当于是在纠正我。写出来让我给他讲,我才发现原来冒泡排序是稳定的,很尴尬。
  2. 问我还有哪些算法是稳定的?还有哪些是不稳定的?
  3. 编程题:给定一个链表,找第K大的数。
  4. 概率题:有一个桶,给你一万个黑球、一万个白球,每次摸出两个球,如果说你发现是相同颜色的球再放一个黑球,否则放一个白球,问你摸到最后只剩下一个黑球的概率。(这道面试题我感觉还是有点难度的,因为他一定要让我算出一个概率出来,算不出来就会挂很有压力。我一开始用的枚举,2黑2白四个球,后来发现所有的情况居然都是100%,后来他提示我用异或,我就做出来了,确实是100%,还挺巧妙的这题)

结果
几分钟后公众号上显示二面通过,心里超级开心,因为下一轮就是hr面了,能走完所有流程了,网易云音乐的offer离我越来越近。
hr面:
是一个姓曾的hrbp,男的,本以为是漂亮的小姐姐,面试的工作很认真,面试的内容非技术比较常规这里就不写了,面试官说我的思想有点太理想化了,要跟现实结合起来。也是第一次经历真正互联网大厂的hr面试吧,很有新鲜感。
结果
其实等hr面的时候还是认识了很多全国各地的优秀大佬的:浙大的、复旦的、华科的都有很长见识,能交到朋友还是此行不虚。
那天hr面面完了差不多9点了晚上,居然回南京的动车都没有了,所以下一届来杭州面试的提前买好回去的火车票感觉杭州到南京的车次不多,后来跟一个合工大的学弟连夜坐绿皮车赶回南京去了,凌晨的火车赶回去的,等火车的时候简直不要太累,发誓下次再也不坐绿皮车,到南京8点早上。
然后就是漫长地等待差不多等了一个礼拜吧,回学校一边熬夜带着压力做坑逼的OAEI学术竞赛(8月末截止),一边忐忑地等网易的结果,每天想着网易云音乐给我发offer,因为感觉云音乐算法走完流程的貌似不多,觉得这个offer没什么问题了。结果到9月3号晚上网易开发的开奖了,朋友圈里面我的同学基本上全部都拿到了offer,都在晒offer,一夜间跟他们的差距就出来了,那一晚我没睡好觉。4号是算法开奖的一天,一直在刷新官网的状态:等待面试结果,傍晚的时候在图书馆听百度的宣讲会,7点的时候再次刷新了面试状态,醒目的简短的红色小字:面试不通过,当时的心简直是跌倒了谷底,失望到了谷底:回到实验室以后,忍不住偷偷哭了,上次哭还不知道是什么时候,真的太难受了,就两个字伤心,就是心很疼很疼的那种感觉,很失落。
总结
所以说这一次是我秋招过程中最难忘的一次面试。但是冷静下来还是可以看到自己的很多问题,细节决定成败:有可能就是因为冒泡排序是否稳定这种基础的问题回答错误导致一面的面试评级不高录用Ranking被刷,所以基础最重要,基础的东西确实是被我忽略了。这个offer没拿到我就觉得大厂的算法岗也许是没什么希望了。小米南京
地点:南京建邺区,时间:2018年9月15号,岗位:普通开发岗(南京好像都是开发的岗位)
这个是直接线下面试不走系统的,因为还是不想去华为就去面面了,以前不知道南京还有小米。
一面:
  1. 介绍了一下口碑商家客流量预测的比赛。
  2. 编程题:二叉树求节点数最多的那一层。
  3. 编程题:求100的阶乘末尾有多少个0。

二面:
一个南大的胖胖的技术大牛,很年轻,能学到很多东西。
  1. 一些经典的数据结构的知识:从数组、链表的区别问到二叉树(堆结构的意义)、图(图的最短路径、最小生成树、拓扑排序)。
  2. 编程题:不用加减乘除实现加法。
  3. 编程题说思路:求p的q次方。

三面:
还是一个年轻的瘦瘦的技术大牛,很严谨也很认真。
  1. 问了很多关于Java static变量、方法、代码块的作用,给了一段代码问输出结果(感觉面试官对Java很精通,自己也学到了很多吧)。
  2. 编程题:给定中序、先序序列要求在内存中重建出二叉树。
  3. 编程题:最大字段和。要求写出两种方式,DP和非DP(单变量)的方法。
  4. 编程题:接上,这时不只是求一段,要变种求解两段的最大字段和。
  5. 还有一些比较零碎的,比如HashMap的一些知识:扩容,装载因子等。

总结
小米的面试还是比较偏技术的,很专业同时在面试过程也能学到很多东西,最后拿到了offer,谢谢小米公司对我的认可。百度SRE
地点:南京玄武湖假日酒店,时间:2018年9月14、16号,岗位:智能平台研发工程师
百度的这个部门今年来南京单独线下招聘,和百度南京秋招的笔试的批次在一块,笔试我也做了但一开始投的机器学习岗位。然后这个部门里面貌似是没有这个TITLE的算法岗的,唯一比较matching的就是这个职位,也是做机器学习、数据挖掘的不过数据是运维数据。反正就是阴差阳错地投了简历过去了,这种线下的优先级貌似是要比笔试批次高的。
一面:
一个胖胖的但是很和蔼的男面试官。面试官很尊重我,我在讲项目的时候他很认真地在听;我写完代码以后,他看的也超级认真,面试体验还是很棒的(50min左右)。
  1. 介绍CCF的偷电比赛(我按照之前准备的提纲很详细地把亮点和难点讲了出来,所以项目的准备永远是面试最核心的内容)。
  2. 白板手写编程题:实现Java自带的indexOf函数(经典字符串匹配)。
  3. 经典的海量数据处理:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4GB,请找出两个文件共同的url。(百度好像蛮喜欢问海量数据处理的题目的,这个我在王道的那本书上看到过这点,事实上也确实如此)
  4. 使用GBDT的时候一些参数(比如树的深度、树的颗数等)是怎么调的?
  5. Linux基础:给定服务器上的一个100G的文件,如何打开它?
  6. 经典网络基础:描述下浏览器输入baidu.com后背后发生的全部过程。
  7. 问我有什么要问他的?

二面:
一个白白的清秀小哥略胖,戴黑框眼镜很和蔼,同样没有为难我。
  1. 先介绍一下自己的科研项目:本体匹配调谐。在本体匹配中做参数全自动调谐的关键是什么?科研难点在哪里?特征是怎么想的?(对着我的论文跟他讲的)
  2. 场景题:访问百度的流量中有很多是攻击者或者爬虫机器人贡献的,如果让你去和正常用户行为做区分的话,能提取出哪些特征?然后他提示说现在的爬虫机器人能做到完全模拟正常用户,让我进一步思考可能的特征?
  3. 场景题:百度的底层服务器调度模块中存在一些可调的参数(响应超时时间等),设置太长和太短都不行,怎么自动确定每个服务器调度模块的最优参数?能否用我本体匹配调谐的技术去解决?
  4. 写Linux脚本:找出文本中包含某个词的行并且按照字典顺序排序(grep)。

结果
这一面应该是我运气好,面试官觉得我的科研项目做的不错,后面没有为难我,所以有一个高质量的科研项目很重要。二面完直接让我酒店楼上去找三面的面试官了。
三面:
是一个大概30多岁的经理级别的人,长的很像刘翔,面试过程半技术半hr(80min左右)。后来让师兄内网查了下,是一个在百度工作了快9年的老百度人。他替我申请了南京地区的offer,谢谢我的经理,感恩的心。
  1. 自我介绍一下,实验室的研究方向是什么?因为我是做(知识图谱、本体)匹配、消歧的,问我匹配消歧里面有哪些算法?然后问了下知识图谱构建的过程?
  2. 继续让我介绍本体匹配调谐的科研项目,并问了我相关的一些问题,这一块还是占据最长面试时间的。(比较好奇百度sre的面试官好像不怎么关注竞赛,但是会比较关注面试者的学术研究)。
  3. 博弈智力题:一张圆形或者正方形的桌子,两个人在下棋,一人下一次,当某人下到棋子没有地方放的时候那个人就输了,现在让我先下,要求设计出一种必赢的策略(3min)。
  4. 然后他又问了一些数据挖掘竞赛的东西,团队分工,过程等,还有一些有无女友,工作期望城市,家庭状况等内容,还介绍了一下百度和他部门的一些情况,以及聊了聊最近百度的事件等,都聊的相当的愉快。

总结
还是那句话,简历上如果能有一个高质量(能吹)让面试官感觉眼前一亮的项目,那么通过这次面试的几率就会大很多,百度这个offer说实话有点阴差阳错的意思,拿到应该也是我运气好吧。搜狗 网页搜索部
地点:南京怡莱酒店,时间:2018年9月17号下午14:30,岗位:机器学习、数据挖掘算法工程师
搜狗南京算法岗的招聘有以下几个特点:1、笔试的编程题没办法切出,必须在牛客网页上编码完成;2、来南京招聘的面试地点(怡莱酒店)地方特别难找,还必须要校园大使带路;3、只有一次面试,通过就是offer。4、会让你复现笔试编程题。
反正还是挺蛋疼的,那天通知我去面试,从学校(江宁)赶到仙林去的,坐地铁远的一比,然后校园大使带我上的一个酒店,进去后是一个满脸黑痣的面试官,应该是一个Leader,先让我还是介绍下本体匹配调谐的科研项目(我的这个科研项目后期好多人问,捂脸),然后简单介绍下数据挖掘竞赛,最后现场复现搜狗笔试的一道编程题。面试官最后跟我说了谢谢你过来面试哈,我就知道凉了哈哈哈。
结果肯定是凉,这里可以给大家一个小Trick也是我切身体会和在微信公众号上看到的,如果面试官最后跟你说谢谢你来面试哈,这种基本都凉了。美团点评
地点:南京黄埔大酒店,时间:2018年9月20、21号上午9:30,岗位:机器学习、数据挖掘算法工程师
一面:
感觉美团点评的面试还是比较技术的,也有同学被问到POJ上ACM题目或者被一面刁难的,感觉还是要看运气,我问的难度还可以,所以说面试的运气还是很重要的。一面在一个酒店的大厅里面,是一个年轻漂亮的小姐姐。
  1. 介绍我的两个机器学习、数据挖掘竞赛(偷电赛、口碑赛)。
  2. 介绍知识图谱消歧的方法。(女面试官很认真也很尊重我,一直在用心记录我介绍的比赛和科研的东西,这些面试官的面试体验是很好的)
  3. 差不多上面两个花的时间很久了,最后手写一个快排结束。

二面:
二面是一个瘦瘦的中年人,像是一个Leader,感觉技术很牛逼。
  1. 有些杂但具体已经忘记了,介绍科研的项目(本体匹配调谐明显他不感兴趣),树模型的优势等,Xgboost的改进点等一些常规的问题。
  2. 手写编程题:LeetCode medium 数塔问题(经典DP)。当场手撕了出来,过了。

hr面:
一个超级漂亮的小姐姐,但是吃了一些坑。内容就不说了,就是一些常规的东西。但是有一点这里一定要提醒大家:就是在这一面的时候千万不要表露出你是拿美团点评做备选的意愿,楼主当时基本拿到了百度offer,没小心说漏了嘴,意思是最终会在美团和百度里面选,给hr的感觉很不好。所以以后大家面hr的时候即使心里这么想,也不要表露出这种意思。结果hr面挂,但是美团点评给我的面试体验还是很技术的,本身也是一家由技术基因驱动的公司,还是很不错的。网易传媒
后面网易传媒还有一次远程电话面试,这个相当于是秋招的最后一次面试了。因为网易云音乐残忍被拒了,所以赶紧投了正式秋招,换了部门传媒技术部,等了很久才远程电话面试的,当时还在宿舍。主要围绕比赛,基础的数据结构知识等,写几个还记得的。没过,那个时候基本没hc了吧。
  1. 还是经典的海量数据处理:有限的内存很多数据……(经典的Hash + 分治)
  2. 二叉排序树插入、删除的算法,以及最好、最坏的时间复杂度。
  3. 会不会Hadoop、Spark这些,感觉这些还是很重要的,会的话有加分。

3、秋招的零碎感受
  1. 找工作对大部分人来说都会经历一个受挫、被打击、怀疑人生的过程。可能大家一开始对自己的学历、项目、能力都充满信心,也确实这些是足够优秀的,可能大家会对比身边一些找到BAT、TMD网易等公司的学长学姐们,觉得自己确实不比他们差啊肯定也能轻松找到这些大公司的。但是,由于每一年的互联网需求形势不同、每个人的运气不同等因素,后面大家或多或少都会经历这个过程:被打击、被理想公司拒绝、怀疑人生,甚至会有多次这种过程。我觉得这种感觉是相当相当难受的,心里会很疼,因为毕竟是自己预期的公司被拒确实不好受,但是一定要有一个心理准备就是肯定会经历这个过程的。正确的心态就是,失败一次别气馁,好好总结失败的原因,有时候也不要太在意,也有可能是hc不够了或者那边有更合适的人选了或者碰到一个奇葩面试官。所以心态一定要放好:自己努力尽了力就行,结果的话就顺其自然随缘就好。反正始终要保持一个乐观的心态,别放弃,坚持下去,要坚信肯定能找到好工作的
  2. 能否拿到心仪的offer不仅是靠自己的实力,还取决于形势和运气。对于有绝对实力的超级大佬而言形势再差也可以拿到,但对于大部分人来说,拿不到心仪的offer有时候其实不是实力本身的问题,可能是你投递的那个岗位、那个部门本身那年的hc就不多,人家不缺人,于是竞争就会相对很激烈,因为hc不多,所以拿到offer的几率就会小很多。反之,如果一个公司一个部门新成立疯狂扩招或者去年离职率较高今年要多招人,那么offer相对来说拿到的几率就会大很多因为真的缺人。这样关于形势的例子还有很多很多,随便说几个:A、大家都知道今年AI算法岗想进大公司是很难的,但是据我所知14、15年那个时候确实是没这么难的,那个时候找算法岗的肯定没现在压力这么大,因为现在AI在媒体的炒作下火了转AI的多了形势就显得不太好;B、百度上海让我师兄内推机器学习岗的时候,我和我同学的简历都没人捞起来面试的,也许是今年百度上海机器学习岗我师兄那个部门根本就不缺人的缘故吧,去年听我师兄说进去还是不难的;C、有个朋友去年暑假在上海某个小公司实习,临近结束的时候被今日头条收购了,秋招面试的时候简历上自带TMD实习光环,然后这个公司去年还来我们学校校招,今年被收购了就没来了;D、去年百度凤巢来南京招人了但是今年听学长说并没有来南京,所以身在南京的话即使想进也进不去因为没在南京招,一个同学去了合肥曲线拿到了offer……总之身边有太多太多这样的例子了,形势这两个字真的很重要,尤其是互联网这个行业形势就更加瞬息万变了。然后是运气二字,这个词我觉得找过工作的人肯定是深有体会的,有的人拿到了BAT、TMD的offer,但他的面试过程没想象中那么难,而有的人就拿到就感觉超级难;也有一些人运气不好,碰到素质不高的面试官(网易暑期内推看到那次讨论区很多人吐槽),有些人碰到不为难你的面试官看你技术差不多就行了那你就很容易过这次面试,但有些人碰到那种很较真的死磕你的面试官就很难过这轮面试了,或者还有的面试官跟你有眼缘,通过几次问答喜欢上你了,这种基本也过了……所以你的简历被什么部门捞,捞完了被什么面试官面,这些都是有很大的运气成分在里面的。总之就是想说,运气真的挺重要的,碰到跟你有缘分的面试官那你基本就过了,以前都听别人说什么看缘分,其实缘分这东西真的还挺重要的。但是,所有的前提还是你得有很好的实力,实力还是占据70%的。很多牛友都说过:offer = 70%的实力 + 30%的形势运气 就是这个道理,记住这个公式,运气和形势我们是控制不了的,只能平时多做做好事积攒一下RP,我们能做的是不断提高自身的实力,让自己的技术能力变得更好。
  3. 实习机会真的非常非常重要,没能实习的同学会吃很大亏。实习本身就相当于秋招多一次机会(实习转正),如果不能实习,就相当于直接错过了这个机会,后果可想而知。实习出来的同学即使没能转正也有宝贵的实习经历,还能认识很多小伙伴赚点小钱。我身边去BAT、微软这种级别公司的学长学姐,几乎都是实习转正,很少有参加秋招拿到offer的,所以本身参加秋招拿offer就非常苦逼了。实习的面试跟正式秋招的面试比(就我看到的)还是相对简单很多的,有时候碰到一些大厂正好疯狂缺人那么通过实习混进去是一个非常不错的选择。总之,我想说的是实习机会非常重要,实习回来的同学跟他们交流就会发现,阅历什么的跟人家根本没法比,人家实习了三个月对互联网以及各个技术栈的前景一目了然,瞬间觉得自己LOW爆了,当然我也是没法实习的。
  4. 刷高质量的经典算法题很有必要,无论对秋招还是对日后的工作都很有帮助。常听人说美国的IT公司面试程序员基本都是算法,我感觉这么做还是很靠谱的,因为算法真的是可以考出东西来的,以后我们去工作肯定要写代码,算法是一个基石,算法不行工作的一些功能很难实现好,所以刷算法不仅仅是为了秋招找个好工作,而是一个持续的过程,这对我们日后的工作都很有意义。我觉得算法不用刷太难,但是一些经典的算法题一定要熟练掌握,要做到一看到题目就知道解题思路,比如全排列、矩阵旋转、链表找环的入口、Two Sum、Three Sum、逆序对等等,这些经典的算法、经典的题目肯定是要去做的,不仅仅因为他们是面试高频,而且里面的思想真的很棒很值得去学习。
  5. 后面找算法岗的同学千万不要死磕算法,经典的后台开发等也要准备下。就我身边今年秋招找工作的情况来看:开发找到BAT、网易的比例远远大于算法,难度也相对小很多。算法的竞争真的是太激烈了,全国各地的大佬都在竞争为数不多的几个大厂算法hc,秋招的过程中我真的能感受到这种难度,今年算法去大厂如果不是凭借运气的话还是很有难度的,所以如果你想稳稳地去大厂而自己又不是能力碾压的超级大佬的话就不要死磕算法,因为算法的竞争激烈程度是很大的,而开发的竞争相对没这么激烈,确实更容易进大厂一点(我身边的情况就是如此)。总之我的建议就是,找算法的同学开发也要有所准备,要给自己留一条后路,不能把事情做太死,搞高大上的NLP、CV、ML的时候也别忘了弄弄经典的服务器后台开发等。
  6. 基础的东西很重要,以不变应万变。因为你不知道会被什么样的面试官面,不知道会问你什么问题,你能做的就是把基础打好,以不变应万变。说具体一点就是,你所投递岗位的一些基础知识肯定要牢固,如果这些基础的东西都不能很快答上来这轮面试表现肯定是不行的。比如HashMap底层的所有细节,海量数据处理常用的处理方式,各种排序算法的源码和时间复杂度、稳不稳定,LeetCode的经典编程题,剑指offer的题目,LR、XGBoost、GBDT、RF等经典模型的推导等,这些都必须要熟练掌握。因为这些是很经典很基础的东西,这些都不会的话就不用再继续面试了。而且这些经典的知识里面本身包含了有计算机中的一些经典思想,很容易迁移到新的面试题里面去。所以,经典基础的知识要牢牢掌握住。
  7. 手里要准备几个高质量的比赛或者项目。这一块是几乎每轮面试都要问的东西,也是面试时间相对占据最长的部分所以一定要好好准备好(比赛的背景、亮点、难点是什么),我的话对我的两个比赛,我是事先写好了比赛难点、亮点的一个word提纲的,然后把他们打印出来面试的时候对着提纲讲。如果比赛、项目本身的质量比较高,基本上给面试官讲懂了以后让他觉得很厉害了,他都不怎么会问你别的东西的,所以这一块是面试比较核心的工作,建议大家不仅可以带着提纲,也可以把自己项目比赛的关键方法流程图、证书等都带着,现场讲项目的时候可以图文并茂地讲出来,让面试官听懂很重要因为你懂不代表别人懂,你得让面试官觉得你这个项目牛。讲的时候要注意不要打断面试官的发问做到相互尊重,定心点一句一句把要说的讲清楚不要慌,事先要用简洁清晰的语言组织好,然后就跟讲故事一样讲出来。项目质量越高越有利于过面试。
  8. 面试本身没有你想象中那么高大上,所以不必紧张、一颗平常心就好。没有参加过面试的同学看了很多牛客网上那些高端的面经啥的肯定觉得面试过程很高大上、很牛叉,但是就我参加了这么多大厂面试的情况来看,面试也就跟普通的聊天一样还是比较放松的,跟我之前想的“牛逼”场景也很不一样,聊天的过程中听你讲项目 + 问你一些技术的问题。所以不要把面试看得好像很神圣一样,其实就跟聊天差不多;不要去把这件事想得太有压力,更不要去因为紧张而导致自己本有的能力发挥不出来,保持一颗平常心就好,面试的时候记得不要打断面试官,认真听他把问题问完再冷静作答,相互尊重。

4、推荐的学习方法与资料:
这一部分本来想混在前面的部分中说的,但感觉不成体系就单独拎出来讲吧。因为我之前也说了想找的工作是机器学习、数据挖掘算法岗的工作,所以也一直准备的这方面的东西,就说下我是怎么准备的吧,我觉得有些对开发的同学也是有帮助的。
1、去剑指offer & LeetCode上刷高质量的经典编程题。刷题的重要性和必要性之前已经说过了,这里就推荐两件套:剑指offer和LeetCode。首先是剑指offer,我想说的是这本书入坑简直是太赞了,里面的题目都很经典。我剑指offer这本书前前后后看了3、4遍,里面的题目基本都肉眼记住了,这本书上的题目反复看是很有价值的,面试的时候要能做到如果碰到剑指offer的原题,5分钟就要能写出Free Bug的代码,剑指offer上的题是最基本的必须要会。然后是LeetCode,研一就有别的实验室的同学在刷,一开始还没重视,觉得算法没啥用。但是当我真正去刷的时候才知道这个平台的价值,多刷LeetCode对编程能力真的会有潜移默化的提高,是一件非常有价值的事情。我一开始接触LeetCode的时候刷easy的都很费劲,medium的更是只能看着答案做,还是很痛苦的,这说明我的算法根本就不行。然后也是经过了几个月日积月累、痛苦的训练,慢慢找到了“感觉”,有了这种感觉以后就发现easy的看一眼就会,medium以前很难去动的也能自己AC了。我真的觉得LeetCode上的很多题目质量都好高,相当于必须要刷一遍的节奏,下图就是我刷LeetCode的情况,一开始刷的都是easy后来medium也越来越多差不多刷了100多道medium吧,自己确实是有进步的。关于刷LeetCode的必要性就不强调了反正就是很重要,建议大家如果有时间的话,可以按照题号,从第一道2sum开始向下刷,因为前150道是超级经典的,这150道涵盖了基础算法的很多方面,先刷easy再刷medium,hard可以先不做一般除了微软这种外企,不会考这么难。时间不够可以按照TAG 【Top 100 Interview 或 Top 100 Liked类似】,这些TAG里的题目还是挺高频的。刷题要坚持,循序渐进、不要着急、多总结,对题目一定要有自己的理解和思考,最后用自己擅长的方法实现出来

2、记忆本身就是很好的学习方式。虽然说算法这种肯定是需要理解的,死记硬背是没有意义的,这个是肯定的,对算法要有自己的思考最后用自己的方式实现出来。但是对大部分同学来说,现场面试手撕代码其实还是很有压力的,所以说如果你以前做过这道题并且记住了这道题目的思路就可以很快手撕出来,用不着现场带着压力再去想了。所以,对LeetCode的一些经典算法题,在理解的基础上不妨记忆这道题的思路和关键代码,对现场面试很管用,可以让你保持不慌、很稳的感觉。我在后面就是一直这么干的,把LeetCode上我认为没掌握好的经典编程题都打印了出来,有空就拿出来看一看、记一记(LeetCode有道经典的Merge K Sorted Lists,它Solution上有一段非递归分治的代码我觉得写得很棒,我写不出这样牛逼的代码然后我就直接把它背下来了,面试手撕到这题的时候可以直接复现不会出差错),见下图。对机器学习中一些经典模型的推导也是一样的,在理解他们的基础上不妨记忆住模型推导的关键步骤、关键的公式等,真的很管用。

3、临时抱佛脚对面试来说很管用。面试其实就跟考试一样,很多东西特别容易忘,但是如果能在面试前看一眼,就立马能记住它们并且在面试中很好的表现出来了。所以这些容易忘的知识点需要提前做好准备,我是把这些容易忘的东西事先整理在一张纸上(下图),面试前几十分钟反复看、反复记忆(抱佛脚),到面试的时候如果被问到相关知识点我就可以顺理成章地写出来啦(比如经典的ML模型的一些关键步骤推导)。网易云音乐一面让我手写树模型的信息增益、基尼系数的公式,因为之前抱过佛脚所以很快凭借记忆复现出来了,我一般面试前都会这么干:在理解了知识的基础上事先写在纸上,面试前抱一下佛脚强行记忆一波。

4、机器学习算法岗求职可以推荐的一些资料。因为之前说了后面找工作的同学不建议头铁算法岗了,但是我还是可以分享下我当时看的一些东西。A、ML经典书籍:我就看了李航的统计学习方法和西瓜书的部分内容,感觉两本书在某些方面讲的各有长处吧,比如SVM我就觉得李航地讲得稍好些,后面又刷了下机器学习实战。B、视频资料:吴恩达的斯坦福公开课肯定是要看看的,还有一个牛客网出品的机器学习特训营感觉挺赞的,我看完后收货很多;C、其他的话就是要组队实战多做点天池等高质量的比赛了。D、对了还有一本书也是必须要去看的就是《王道程序员面试经典》,考过研的都知道王道出品的东西质量都非常高,所以这本书作为面试经典也很值得一看。最后分享三个我花了很多时间和心血整理的独家资料:LeetCode经典编程题、直通BAT经典编程题整理、机器学习经典零碎面试题&解答
 5、最后的话:
终于写到这个部分了,这个帖子自己在实验室写了好多天了,就跟标题说的一样,想写一点真正对后人有用的话,想做一件有意义的事情,想真正帮到后面找工作的同学,希望后面找工作的同学可以从我的经历中得到一点启发和帮助,凡事都靠自己。我最终找的工作说实话还是跟我理想中有差距的,还是比较妥协的,也许老师不剥夺我那次宝贵的实习机会,不那么坑我,秋招的形势和运气再好一点,说不定能拿到更加好一点更理想点的offer,但是这些都不重要了。最后,感谢自己在东大两年的努力化解了一个又一个的坑,最终还是完成了自我救赎,感谢我百度的经理在秋招快要结束的时候给我发的offer,感谢秋招过程中鼓励我、真正伸手帮助过自己的人:涛哥、小豪、师父、我实验室的师弟师妹们,谢谢你们。希望我的实验室KGCODE能越来越好,希望所有看到这个帖子的人最终都能拿到理想中满意的offer以及找到自己挚爱的另一半。

前来还愿啦,一波面经给需要的人

lanqiao 发表了文章 • 0 个评论 • 33 次浏览 • 2018-10-31 15:38 • 来自相关话题

作者:Jason374   春招 一、CVTE 一,二面 自我介绍介绍一个自己最熟悉的项目为什么采用tcp不用http?tcp分包处理如何顺序处理接收的数据?protobuf2和3有什么 ...查看全部
作者:Jason374
 

春招
一、CVTE
一,二面
  • 自我介绍
  • 介绍一个自己最熟悉的项目
  • 为什么采用tcp不用http?
  • tcp分包处理
  • 如何顺序处理接收的数据?
  • protobuf2和3有什么区别?
  • 找出字符串中第一个不重复的字符
  • udp如何实现可靠传输
  • 你还有什么想问的
hr面
  • 给自己一二面的表现打一个分?为什么?
  • 介绍一下家庭情况
  • 你可能拒绝cvte的offer的原因
  • 几个offer你选择,为什么
  • 最让你印象深刻的事情
  • 最讨厌什么人
  • 喜欢工作的地点
  • 如果被cvte拒绝,你觉得可能是什么原因
  • 你还有什么想了解的
 cvte是我春招拿到的一个offer,虽然最后拒了,但真的很感谢这家公司,是对我实力的一种肯定吧,有offer和没offer找工作的感觉真的差距很大。 二、阿里天猫(测试开发工程师)一面
  • 自我介绍
  • 为什么想来阿里
  • 介绍一下你的项目
  • 你对数据库了解多少
  • 索引的优化,动态索引
  • 事务和锁你了解多少,这两个分别在什么情况下使用
  • 反馈训练问题
  • 从一堆商品中挑出不合格商品
  • 对文字的分词处理
  • 你有什么想问的
二面
  • 自我介绍
  • 介绍项目
  • 项目中你做了哪些优化
  • 你对测试了解多少
  • 你以后想要就业的方向
  • 对一个搜索引擎进行测试,你有什么测试案例和方法
  • 进程和线程的区别
  • 多线程中一个线程中任务已经完成,如何通知其他线程终止该任务
  • 除了简历上写的,你还有哪些写代码的经历
 阿里二面就挂了,感觉他们应该是想要找哥做智能测试相关的人,可是我算法和测试都不怎么了解。这里我想强调一下在找工作之前最好能确定下自己想要从事的岗位,不要想着每个岗位都投一遍,这样你会浪费很多机会。我的经历就是教训,这之后阿里就再也没有给过我面试的机会了。  网易互娱
  • 自我介绍
  • 为什么选择使用protobuf,为什么protobuf会比xml,json更好
  • tcp分包粘包,为什么会粘包,如何分包,多个客户端连接如何防止集群崩溃
  • rabbitmq是否可靠,消息队列确认机制,如果一个数据包一直收不到ack确认,该如何处理,rabbitmq集群是否了解
  • redis删除过期键,如何实现,redis和memcache的区别,redis集群是否了解
  • mysql如何存储图片,为什么要采用mysql
  • 解释一下caffe框架
  • 发送100k的数据发送一次还是多次,解释发送窗口,拥塞窗口,接收窗口,MSS
  • 阻塞和非阻塞的区别
  • I/O复用,epoll有什么特点,epoll是阻塞还是非阻塞
  • 探测一个端口不通可能的原因是什么
  • 一个集群100万个端口处于time_wait,一百万个窗口处于连接状态是否正常
  • 虚拟内存布局,malloc底层实现原理,当小于128时会调用什么函数,brk了解嘛,malloc 3G空间可以吗,mmap具体怎么分配内存的了解嘛
  • 内核空间里有什么了解嘛,进程内核空间不够是否会占用用户空间
  • 堆和栈有什么区别,在函数内部malloc变量是在堆还是在栈,如何定义一个类让它的变量只存储在栈上
  • 进程和线程的区别,创建进程和线程的函数,fork实现原理,如果有一个2G的进程进行fork结果如何
  • new和malloc的区别
  • hash_map和map的区别
  • 虚函数,虚拟继承,计算菱形继承各类的大小
  • 一个序列,前后两个数相差1或-1,查找某个数k(k一定存在)
  • 你还有什么想问的
 这是我经历过时长最久的一场面试,一个半个小时,只有一面,最后拿到了offer。大厂的面试官实力都是不容置疑的,感觉不管是项目还是提问上都可以由浅入深把你了解个透,要把自己熟悉的项目和知识点理解透彻,至少要有几个方面显得比较突出。  网易杭研一面
  • 自我介绍
  • 介绍一下你的项目,你项目从系统架构层次还有什么需要考虑的
  • 对数据了解多少,存储引擎了解嘛,Innodb和MyIsam的区别
  • 数据库隔离级别,选择哪个隔离级别应该从哪些方面考虑,主从同步了解嘛
  • redis里的主从同步,备份方式,expire原理,主从同步时rdb文件过大,缓冲满了,该如何解决,lua脚本用过吗,redis集群了解嘛,槽坏了一个该怎么处理
  • rabbitmq了解多少,使用过集群方式吗
  • time_wait多久,keep-alive多久
  • 你觉得除了上面提到的,你还比较熟悉哪些方面的知识
  • 你有什么想问的
二面
  • 自我介绍
  • 介绍一下你的项目
  • protobuf的序列化原理
  • 介绍一下使用网络库的模型,ET和LT的区别,写一个线程池的伪代码
  • 为什么会虚假唤醒
  • http请求和响应头部,tcp四层模型,ARP原理,tcp连接过程图,介绍一下keep_alive,IP路由
  • 介绍一下vector和map,在分布式情况下查找,什么时候vector会比map有优势
hr面
  • 介绍下自己
  • 介绍一下项目
  • 你投了哪些公司
  • 实习时间
  • 你还有什么想问的
  • 无序列表内容
因为那时候手上已经有了心仪的offer,面的也比较轻松,就当去杭州免费旅游一趟,最后拿到了offer。  腾讯一面
  • 自我介绍
  • 介绍一下你的项目
  • 使用的什么网络库
  • 传输的数据结构
  • protobuf如何实现序列化,底层机制
  • 如果让你来实现序列化,你会怎么实现,需要注意哪些细节
  • 预处理用到了哪些算法
  • redis用***嘛
  • c++中的以对象管理资源,谈谈理解
  • 自己定义结构体放入map中,需要注意哪些问题
  • 拷贝构造函数调用的三种情况
  • linux系统中,后台运行一个程序,关闭终端后依旧能够运行,如何实现
  • 归并排序
二面
  • 自我介绍
  • map底层实现,unordermap底层实现,hashtable了解多少,hashtable初始化空间(多少个桶),hashtable扩容处理,数据多打乱重hash?
  • linux查看内存大小(free),top,多个进程处于time_wait状态是什么原因
  • 客户端先发送100字节,再发送200字节,服务端read几次,有没有可能先200再100?
  • http和https的区别,https是采用对称加密还是非对称加密
  • 数据库优化了解多少
  • rabbitmq时候可靠,消费者从消息队列读取信息,读取后崩溃了,该如何处理(ack)
  • 100亿ip取最多的十个,500个单词和一篇文章,看单词是否都在文章中,500个短句和一篇文章,看短句是否在文章中
  • 阅读过什么开源代码
  • 你还有什么想问的
  • 字符串比较
  • LRUCache
三面
  • 自我介绍
  • 介绍项目
  • 算法题:大数加法
  • 生成随机数
 三面应该是总监面,腾讯的面试比较曲折,我提前批投的比较晚,二面面完的时候就快到截止时间了,所以转成正式批,中间跨度比较长,最后在三面的时候挂了,没能去腾讯实习真的很可惜。  秋招百度一面
  • 自我介绍
  • 介绍项目
  • 算法题:链表的归并排序,最长子序列
  • 智力题:十瓶药一次找出污染的那瓶(常见题)
  • 数据库中的内连接,外连接
  • 你还有什么想问的吗
二面
  • 自我介绍
  • 介绍项目
  • 位运算乘法
  • 单例模式,手写,优劣
  • 你还有什么想问的吗
三面
  • 自我介绍
  • 介绍实习项目
  • 两个栈队列实现栈,栈容量限制为n,队列的最大容量达到2n
  • 讲一次你失败的经历,如果再给你机会不会怎么做
  • 讲讲你的缺点
  • 你觉得自己有哪些优势
  • 给了道场景问个人想法
  • 你还有什么想要问的
 时间有点久了有些问题不记得了,不过总结来说百度侧重点在算法,要能手撕代码,撕不出来大概率GG,三 面面完最后在排序的时候挂了,牛逼的人太多,这是秋招的真实想法。  携程
  • 自我介绍
  • 介绍项目
  • tcp和udp的区别
  • 手上有什么offer
  • 介绍了下携程的业务
面试时长只有20分钟,找工作这么久就携程和华为最玄学,20 分钟不知道他们能了解到什么,开始以为只是劝退,最后还给了offer。。。。。。。  腾讯一,二面
  • 自我介绍
  • 介绍项目
  • new和malloc有什么区别
  • c++四个类型转换
  • 虚函数介绍
  • 构造函数和析构函数能不能是虚函数
  • vim三种编辑模式
  • vim中查找字符串
  • tcp中四种定时器
  • 算法题:链表中当前节点插入一个节点(不给头指针)
三,四面(面委)
  • 自我介绍
  • 做题,大概是sizeof,字符类,继承类的题目
  • 写一个string类
  • 实现Linux的类似crontab的功能
  • 介绍项目
  • violate关键字
  • 类中的静态函数
  • 一个不规则图形,如何判断点实在内部还是外部
  • 求二叉树中三个节点的最近公共祖先
hr面
  • 自我介绍
  • 实习过程中令你映象深刻的一件事
  • 意向工作城市
  • 家乡,家人介绍
  • 拿了什么offer
  • 手上的offer怎么选择,有没有想去的
  • 为什么选择互联网
  • 为什么选择现在的专业
  • 未来有什么规划
  • 你还有什么想问的

 腾讯的hr小姐姐是真的好,必须点个赞。腾讯的跨度比较长,最后拿到了offer,也正式圆满的结束了秋招。
以上就是我个人春招和秋招的一些经历,有些面试因为没能及时记录,时间长了记不得了。