我是如何通过一个月的突击拿到微信实习offer的
一直在想自己的第一篇文章写什么好,琢磨了好几天也没想出好的主题。今天下午学弟找我要面经,于是就有了这篇文章。
说是突击一个月确实是没有夸张的,因为我也不知道我去年年初抽了什么风,报了三月份的德福考试,所以整个寒假加开学后的一个多月一直在复习德语。
然而考试的时候,听力实力蒙圈,考完当天我发的朋友圈是酱色的:
3月26号之后我才开始准备春招,一开始本着涨面试经验并不奢望真的能拿到offer的想法就只投了BAT+网易。
幸好还是赶上了内推的末班车,大厂的工作效率都很高,很快就收到了阿里和百度的一面电话。然后连自己做过的项目的细节都记不清了的我很自然就是这个下场,卒!
然后我并没有收到腾讯的内推电面(一直觉得SNG每年的HC最多,所以就投的SNG,应该是投SNG的人实在是太多了,蠢作者的简历在内推里评级太低~),网易内推了还要做笔试,基础知识当然也早就忘光了,所以网易内推挂在笔试。
本来想着自己也就打打酱油的,可是你面试机会都不给我!面试机会都不给我!面试机会都不给我!
所以很好,你们成功的激起了我的好胜心,我正式宣布和春招杠上了~
内推挂掉还是可以重新投递线路招聘的,所以蠢作者挨个重新投了一下。然后就开始了一个月左右在图书馆封闭式的突击。
虽然内推的时候收到的两个一面电话都挂掉了,但是还是达到了我积累经验的初衷的。当然不是说我通过两个电话就顿悟,掌握了面试的技巧啦。而是通过那两个面试我发现了这样一个事实,那就是网上的面经真的有用!真的有用!真的有用!
重要的事情说三遍。
网上的面经就和雅思的机经是一个道理,都是真题啊!感谢前辈们孜孜不倦的回忆记录这才能造福我们这些晚辈们呀!
所以这就和应付化了重点的考试一样,突然就从要背一整本的毛概变成了背100个思修题。
一下子就容易很多了呢~
我突击的第一步就是把自己之前项目的代码再看一遍,顺带找找里面有没有拿得出手的部分。这一步我没有花多久,毕竟有注释哈哈哈。如果这步有特殊情况的宝宝,可能突击的时候要给自己多预留一点时间了。
然后第二步就是把网上我能找到的BAT三个厂的Android岗位的面经都找到了,然后做了分类整理。
比如说把JAVA基础的面试题目放在一起,把数据结构算法的题目放在一起,把Android基础的题目放在一起,把项目经历的题目放在一起,把人生哲学的题目放在一起。
然后计网,操作系统,数据库的题目通通不管了,因为当时我的时间确实不够用了。总结网上那些面经很容易发现这三块知识是抽着问的,所以时间来不及的时候把他们放在最后复习。其实这三块知识,普通开发岗位的话,准备起来也很快,比如计网多半就会问网络的7层结构,TCP和UDP的区别这些。宝宝们自己整理一下吧~
第三步就是分析你所投的岗位的面试官都喜欢问什么。统计一下你就和发现所有大厂面试官问的问题都差不多咧。比如Android的面试官一定会问下面几个模块中的几个:
2.进程线程相关的。
3.适配相关的。
4.ANR相关的。
5.持久化存储相关的。
之前整理的模块分析文档找不到了,所以只凭印象写了几个模块,准备春招的宝宝要自己整理一下。
然后这几个模块不需要每个模块都非常的精通,但是基本知识你一定要都弄清楚。比如你可以不知道Service默认是运行在主线程的,但是你不能不知道ANR的原因是在UI线程里进行了耗时操作。
然后你要挑两个模块去深入的学习一下,当然是针对面试中会问的问题咯。比如Android中的异步消息处理机制,不过这个几乎是要弄懂的必选项,笔试面试问到的几率太大了,最好自己跟踪一下源码弄清楚。
这个不同的岗位会有不同的需要掌握的基本内容,需要根据网上的面经自己整理一下。
然后技术岗都一定会问到的就是数据结构和算法啦,这个是硬功夫了,没有技巧的,大家怎么学的就怎么准备。搜狐的一个面试官大大就告诉我说,他一般会问几个不是太难的算法题,如果都能做出来,那么面试的同学通过的可能性就比较大。然后他还会加试一个很难的,最后那个问题是决定要不要给这位同学special offer的。
蠢作者面微信事业群的时候被问了5个算法题,头两个是手写的,最后三个讲的思路。题目都不是很难,但是蠢作者自认为答题的过程中有三个亮点(面试官是不是这么想我就不知道了,从他的表情看应该差不多hhh):
1.有个常规是用递归解的问题,蠢作者给出了递归和循环两种解法。
2.有个问题我用的解法貌似面试官是第一次看到。因为我已经在做下一个题了,他突然指出了我上个问题只能解决问题规模比较小的情况。然后我静静地装了个逼,说了下一般的解法,然后说我选用之前的解法是因为有趣。
3.每解决一个题,主动的分析时间复杂度,并且分析还有没有更优的解法。
也就是说,蠢作者在面试的时候一直在给自己加戏。不一定是在面试官问数据结构的时候,而是如果面试官好不容易问到你擅长的地方了,请不要犹豫的给自己加戏。
面试不是攻防大赛,撑过这段时间就能拿到offer了。所以不要只有一问一答,你要想办法在这段时间里给自己加戏。
当然演过头了也不好。
面试的时候,面试官往往对你的优点更感兴趣,因为他要看你的优点对他有没有价值,能不能把你放到他的团队。
蠢作者当时复习数据结构的时候用的资料有三个:
1.我们数据结构老师的PPT。这个课是我大学里一节课不逃上下来的为数不多的几门课之一,老师讲的很好。(有看到这篇文的宝宝想要PPT的可以用简信找我要)
2.王道考研的数据结构。(这本资料因为我准备数据结构期末考试的时候刷过两遍了,所以看起来比较快,如果时间不够的话不推荐用这个复习)
3.程序员面试宝典。(我会说上面我用来装逼的那个题是这上面的一个原题吗hhh)
最后一步,也是比较重要的一步,你要准备面试的逐字稿,内容包括自我介绍,项目经历描述,和你深入了解模块的描述。
很多同学看到这里要说啦,不要以为程序员表达能力都不好,我表达能力很好好嘛?逐字稿这种low货,看我的眼神~
那就让蠢作者来给你分析一下,为什么要写逐字稿。
你以为写逐字稿就是为了让你把项目描述清楚嘛?
有的同学面试的时候,面试官让他说项目经历,他就噼里啪啦一通说,然后心里还祈祷着不要问我太难的问题,不要问我太难的问题,然后面试官真的没有问什么问题,他还十分庆幸,觉得糊弄过去了。
人家面试官不问你难的问题是觉得你的项目经历里没啥好问的好嘛!
这个时候有的同学就要说了,MDZZ,他要是问我一堆我不会问的问题,不是更惨嘛!
所以我才说要写逐字稿啦!
逐字稿最关键的作用是什么呢?让你的面试官问你,你想他问的问题。
刚刚第一步里我让大家找自己项目里拿得出手的地方,就是在这个时候用的。
这个时候刚刚嘲笑我的同学就又要笑得更大声了,哈哈哈,你个傻×,你让面试官问,面试官就问啊。
不要笑哦,一个好的面试官,就是我们想让他问什么他就问什么。
计算机相关的知识那么多,就是面试官自己也不敢说他们都会了,更何况我们小小的本科生。研究生博士生宝宝们应该也不敢这么说吧。面试官也不会自己会什么,就问你什么吧!(同学有碰到这样的面试官,她面java,面试官一直问她C++的东西,所以回答的一塌糊涂。但是人家面试官也知道是自己面试的时候没有控制住自纸,所以没有直接毙掉她,而是转推荐到其他部门去面试了)如果真遇到这样的面试官,那是面试官自己的问题,宝宝们就不要纠结了。
有经验的面试官会想要问你会哪些东西,并且看你掌握到什么程度,从而推断你研究问题的能力。
面试官怎么知道你会什么呢?唯二的途径就是你的简历和你对项目经历的描述。
所以那些面试官问项目经历的时候就照着简历念一遍的同学,你不是逼着你的面试官随机问你,他认为你该会的问题吗?
面试官能怎么办,他也很绝望啊!
所以你要写逐字稿,在你的项目经历描述里不着痕迹的暗示你的面试官问你什么问题。比如你把图片缓存吃透了,你就可以说,我在完成这个项目的时候,发现XUtils的图片缓存不够好,所以自己封装了一个。
你都这么说了,我就不信面试官不问你图片缓存有关的东西。
但是这样做也会有一个问题,那就是,你既然都暗示面试官这是你的得意之作了。
面试官就会拿这个当成你的最高水平来考察你,他会循序渐进地深挖,直到挖到你没有研究到的地方为止,看看你的极限在哪里。
所以你自己挑选出来的问题,你就真的要研究的深一点点。要是这都让面试官觉得深度不够,那就没有办法了。
而且你准备的这些点还可以用来回答诸如,你觉得你在这个项目中遇到的最难解决的问题是什么的这类问题。
技术面的准备工作就是这么多,技术是没有办法突击的,但是面试还是可以的。
最后我还是要说一下HR面。大厂的HR面也是刷人的,虽然大多数大厂的HR面没有华为的心理测试那么恐怖,还是有一些坑要避开的。有哪些坑大家网上搜一搜就知道了。
我只说一点,那就是一定要在前两面的时候问清楚自己面的部门到底是什么。蠢作者就因为自己投的是SNG,就以为自己面试的肯定是SNG,结果HR姐姐问着问着觉得不对了,才问我“你知道你自己面试的是哪个事业群吧?”蠢作者还很肯定的说,“SNG呀!”。蠢作者现在还能感受到当时凝固了的尴尬气氛。
祝,学弟学妹们春招顺利!
本文文字及图片出自 www.jianshu.com
你也许感兴趣的:
- 【译文】面试官的笔记
- 【译文】角斗士风格面试
- 【译文】我是程序员,不是编译器
- 我在阿里做技术面试官的一些经验
- 张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
- 听说你 “精通” C++???
- 你可能犯了面试的最大错误
- 记录一次壮烈牺牲的阿里巴巴面试
- 牛人5次面试腾讯不成功的经验
- 一场让我持续懵比的面试
你对本文的反应是: