专栏名称: 南大好实习
南大好实习
目录
相关文章推荐
重庆校园频道  ·  又要降温了,最低-1℃!重庆未来一周天气“剧 ... ·  2 小时前  
重庆日报  ·  24℃→-1℃!重庆又要“过山车式”降温了→ ·  7 小时前  
第1眼新闻  ·  巨型哪吒“现身”重庆,排面拉满→ ·  15 小时前  
第1眼新闻  ·  巨型哪吒“现身”重庆,排面拉满→ ·  15 小时前  
51好读  ›  专栏  ›  南大好实习

NJUer面经 | 经历30场面试以后,我终于走进了微软

南大好实习  · 公众号  ·  · 2020-05-11 21:00

正文

孟华

南京大学计算机科学与技术系

2016级本科生

所获奖项: 大学生数学建模竞赛江苏省二等奖、花旗杯金融创新大赛优胜奖、董氏东方奖学金、杨蓝云领导型人才奖学金等。


实习offer: 微软SoftWare Engineer,腾讯c++后端开发,字节跳动c++后端开发,阿里c++后端开发

我非常喜欢互联网公司自由、创造的氛围和文化,公司并不会对工作时间、着装、日常用语等等有限制,给与员工最舒适的环境工作,还会组织一些实习生的活动(迪士尼一日游),还有公司茶水间不间断的零食饮料等等。


01

笔试准备

对于有多种场次的笔试建议大家去做第二场或者第三场,这样有比较充分的时间去了解题型,因为大厂的笔试题型每年都有更换的可能,在熟悉了今年到底要考哪些,比如说选择、多选,或者只是考编程题,当我们熟悉这个套路之后才好对症下药去准备。


编程小技巧: 当我们的答题内存超过50%、60%的时候,基本意味着有一些大的样例内存超限,复杂度较高,或者是一些边界情况,这个时候就不要在这里纠结太长时间,继续往下做,当然要确保笔试的界面可以返回之前的题目,一般来说笔试是可以在不同题目之间跳转的。


02

面试技巧

当你过了简历筛选、过了笔试,拿到面试机会的时候,恭喜你,你离拿到最后的offer已经很近很近啦!接下来我们需要积极复习,掌握一些小技巧。


首先是心理上,前期准备成什么样基本已经定型了,在面试之前不管是紧张期待还是害怕都无济于事了,与其秉持着一种特别害怕觉得自己没有复习好的心态,不如以一种“我不在乎,我就是来公司体验一下公司文化”这样的心态去面试可能自己的心理压力会小一点。


正式的面试分为 自我介绍、基础知识问答、做算法题和提问 几个环节。


自我介绍:从自身经历中找亮点

这里提供给大家一个例子:

第一句话介绍自己的基本情况,姓名、学校、毕业时间。

第二句话说明自己目前的技术栈、技术点或者比较集中于什么开发,如 我目前集中在C++开发,以系统开发为主,所以申请的是XX公司的XXX岗位 ,这样能够体现你对这个公司非常重视,有认真地阅读他们的岗位描述。


介绍完基本情况,接下来就是 找亮点 !接下来的介绍需要告诉面试官我真的非常优秀非常符合你们的岗位(潜台词不是真的说出来hhh)。


具体来说就是去找你最有亮点的一个部分,一般是简历的第一个项目, 除了要介绍项目的亮点意义、自己做了什么、关键的技术点之外,还需要在当中埋下一些伏笔,来引导面试官去你熟悉的领域 。比如说我不太熟悉数据库,在面试中就尽可能地往我熟悉的网络、操作系统、C++引导。我选择了一个参与度最深、难度最大的一个项目进行介绍,简单介绍了项目的内容,然后表明代码已经被merge到开源项目当中,并且拓宽了项目的生态。接着就该引导面试官了,表明项目是和网络开发相关的,用到了多线程、多进程,最后表示这个项目虽然很具有挑战性,但是我很喜欢也很乐于看到自己在这个项目中得到的成长,并且也非常希望加入到XX公司为一些项目做出贡献。到这里面试官的反应分为四种:


引导失败: “嗯好,我们来做几道题吧”

这种情况属于不管你说了什么都会引导失败,面试官就是想让你直接做几道题。即使这样,但是要相信刚刚那段自我介绍面试官也比较印象深刻了。


成功入坑: “你能详细地介绍一下这个项目吗”

我们要在详细介绍这个项目的过程中吸引面试官的眼球,让他认为你有相应的能力,但是项目一定要真实,是自己做出来的,确保无论怎么深挖都不会问倒你。其次就是用尽量简短、精确、能够让面试官听懂的语言把这个项目描述出来,尤其是要突出技术难点,也可以突出关键词进行引导

“以我自己为例,因为我当时选的项目是独立完成的,所以当我听到面试官问这个项目是几个人做的,我说是我一个人,这样的话这段介绍算是加分了,因为面试官认可了你的工作量”


引导到熟悉的领域: “你刚提到了这个项目是以网络为主,那我们来问一些网络的知识吧”


引导到具体技术: “你这个项目用到了多线程和多进程,那我们来聊一聊多线程和多进程吧,你对它们有什么理解”


基础知识问答:遇到不会的题要真诚


这里主要想告诉大家遇到不会的题怎么办。既然我们是来应聘做实习生的,不可能什么都知道,就算是技术大牛也不会对所有的领域都非常熟悉。


被问到不会的题目怎么办?


最重要的是真诚,真诚地表达说自己不会,因为面试官也知道大家的实际情况,问到比较难的问题是想考一下你解决问题的能力。首先明确地告诉面试官我不会,确保他不会在这里继续深挖下去。然后可以说自己对这个方面有一些了解,把它表述出来,或者说你不知道这个东西,但是你知道类似的另一个知识点和它的区别,这时候你就可以拓展到和它相关的一些内容。


例1

面试官:你知道线程池吗?


我表示 不太知道,但是可以说一点我的理解 ,因为我大概了解池子是干什么的,它就是一个预先分配可以减少分配所带来的额外开销的东西,在面试过程中面试官不会告诉你是对的还是错的,可能会继续往下问“那你知道如何优雅地销毁线程池吗”,这时候因为已经有了之前的不会打底,我就会和他说我认为比较合适的方法是怎么样的,但不确定业界是不是这样做的。这样来看这个问题也算是比较圆满地回答下来了,面试官也没有继续深挖这个问题了。


例2

面试官:你用过epoll吗?


因为我的个人项目是select,同时我也准备了epoll和select的区别,但我确实对epoll不太了解也不知道怎么用如何触发,所以我回答 自己对epoll不是特别的了解,但我用过select ,接下来面试官就有兴趣问你为什么用select不用epoll,他们有什么区别呢。这样又成功得把面试官引导到自己熟悉的领域。


注意: 要对自己的熟悉程度心知肚明,千万不要引导到自己不会的区域。在遇到不会的题的时候有一个大忌就是兜圈子,最怕不直接和面试官说不会,支支吾吾讲一些比较宏观边缘的东西想尝试圆自己不会的幌子。不会装会一眼就会被看穿的..


手撕代码:先想清楚再动笔







请到「今天看啥」查看全文