头条Offer call了,记录一下一个月从考研到工作。
秋招总结:
前言:
先说一下楼主情况,8月被导员通知优研资格没有我,开始准备考上交819,9月华为大规模秋招,第一批集招offer拿到,拒了,详细原因后面说,之后学姐给了白金码,选择放弃考研全力备战头条面试,准备了一个月,10.13面试,三轮面完,10.19收到offer call秋招结束,在此期间拿到360和keep的offer。
本来打算中午吃完饭就回来更帖,有个学弟找我聊规划,我就跟学弟聊了一下午。
正文:
准备分这几个部分谈:
l 考研还是找工作?
l 如何应对来自家里人的压力?
l 如何准备简历?
l 如何规划自己的速成内容?
l 通用程序员面试知识总结。
l iOS开发面试总结。
l 面试的一些经验。
1、 考研还是工作?
这个话题我觉得有太多可以说的东西,而这个问题,并不是大四生该考虑的。下午跟学弟聊得时候我说,我认为从大二下学期开始,就应该准备这个了,可惜我大二的时候并没有人跟我说这些,虚度许多光阴。套用我们光纤老师的话——“成绩好的,没有家庭压力的,老老实实学习保研,成绩不行的,可以优研的,稳住成绩找好导师随便考考就上研了,成绩在优研边上以及后面的,老老实实实习工作。”很精准。关于研究生其实我没有太多话语权,但是本科阶段两任导师及实验室也让我了解很多,我认为,还是看个人。西电不是什么好学校,大佬既有双非考上来的,也有本校上去的,一切看自己,管住自己就是大佬,管不住就凉凉。我在本科阶段做了两个科研项目,也算锻炼了很多,虽然被学校坑了一波没研究生上,但是学习能力的提升是不会消失的,我相信如果上研我的学习能力还会提升,但是工作也一样可以提升我,所以我觉得在这方面,研究生和工作对我区别不大。另外需要谈及的一方面是专业问题。我是通信工程的,理论上来说,我只在大二上过32学时的数据结构,32学时的C++,32学时的java,感谢两个项目以及我带领的社团网站让我锻炼了代码能力。非科班生锻炼代码大概只有两种途径,一个是爱好,一个是项目。而上研的话,我肯定还是通信的研究生,可以说,依旧跟数据结构与算法无关,代码能力不会有质的变化。如果我三年后依旧找互联网的工作,我认为,基本上跟现在能力上不会有太大区别。
2、 如何应对来自家里人的压力?
这个话题是学弟问我的,而我更是长期烦恼于与父母的关系。父母是国企职工,五线小城市(原本还是地级市,前几天已经撤市了,我成了济南人。。。)待了一辈子。自我无法保研,就一直催促我考研究生,我相信他们不是一味的迷信学历,但我也深知他们无法对我以后工作的环境做出正确的判断,所以我选择了相信自己的判断,父母那边说什么是什么,我走我自己的路。好在最后结果,我没有失败。感谢自己对自己的信任,感谢自己的努力。
3、 如何准备简历?
按照我的模板,大概是这样划分的。
1) 掌握的技能(最重要的当然是语言啦),熟悉的知识面(基本跑不开网络,计算机原理,数据结构与算法,非科班的比如我们通信,熟悉DSP什么的,我觉得写不写无所谓…)。
2) 关于这个岗位的经验。(我0,献丑了)
3) 拿到过的竞赛奖、奖学金,发表的论文
4) 企业实习。(又献丑了,0)
5) 做过的项目,项目中我所完成的内容,项目亮点。(楼主一个长江学者带队做的,一个院士工作组的课题,乍一看一个本科生还是挺唬人的)
6) 校园实践。(楼主做了三年的校园网无线网布置,对下三层网还是比较熟悉的,也带着社团做了网站,这里比较有的说)。
7) 其他。(英语啦,爱好啦,性格啦,反正他们也不会看的)
4、 如何规划自己的速成内容?
我大概是一个月的时间,完成了常用数据结构,常用算法,剑指offer算法题,TCP/IP卷1,计算机原理,SQL,以及我应聘的岗位——iOS开发所用的objective-c的学习。这一个月可以说每天14个小时,早上起来就去教学楼开始看书,看累了就开始手撸算法,撸懵了就开始看答案怎么写的,循环。
5、 通用程序员面试知识总结。
这里我不做具体的描述,我自己用的文件都是各种blog和git上扒下来的,在这里截个图,大家根据文件名直接百度即可。
书籍主要是:
l 剑指offer
l 某github扒下来的一位大神的算法总结(400页)。
l TCP/IP卷1
l 图解HTTP
l 编译原理。这个。。。实在tmd看不完,就看了看词法分析,语义分析,以及一些基本概念。
l 汇编。简略看了看,温习了一下arm的thumb指令。
l sql。图书馆随便借了本,看了看原理。
l 数据结构。一个印度人写的,还算全面,但是没有***树什么的那么深的。
l objective-c。全靠sunnyxxxx大佬的blog,以及其他大佬的微博。
l effective C++。这个早就读过了,复习了一下。
6、 iOS开发面试总结。
作者:累10年换头条offer!!!
链接:https://www.nowcoder.com/discuss/127944
来源:牛客网
一面:原定两点开始,1:30就可以预约,35开始面试。
1、介绍自己。试图介绍科研项目的时候被打断。(后面两场面试也根本没让介绍,可以说,没卵用。)
2、OC runtime了解什么,讲一下。 msg_sender到category时被打断。
3、做个题吧。根据先序和中序写后序。这里楼主紧张炸了,序列里有两对重复的char,一紧张,憋了好久。面试官很好,让我说说。我边说思路边写就写出来了,这里面试官眉头展开了,让我别紧张,没啥事。
4、给出一个分子式,超长,一定的规则,有“()”,括号可以嵌套,让统计每个元素出现的次数。没做出来,太紧张了,致命问题,边输入边处理,可能面试官看到我这个操作,内心觉得这孩子没救了吧。菜的一笔。
5、结束。(50min)
------------------------------------------------------------
二面:等了十五分钟,开始。
1、介绍自己,同一面,被打断。
2、OC 内存泄漏出现的常见场景。
3、UIkit。不知道啥也不知道,学了一个月OC懂个毛iOS。
4、ARC是怎样的机制。我一直讲到了sidetables。
5、autoreleasepool。runloop关系,底层结构(page)。
6、线程进程,虚存的意义,堆栈区别,等等计算机原理的题
7、输入URL的过程。我分http和https分别讲的。因为我是学通信的,密钥讲的比较清晰(其实很简单。。)。
8、TCP拥塞控制避免,讲一下。疯狂哔哔,拥塞控制(慢启动,拥塞避免,快速恢复等等),流量控制(顺带提了一下坚持timer),N-ARQ,nagle优化(连带nagle的缺点和解决方案)我也说了
9、智力题:100灯,100人,整除按开关(自行百度)。我:???杀了我?我死了????我挂了我求你了别问了
10、想不起来了。(60min)
--------------------------------------------------------------
等了40min
三面:
1、介绍自己,同一面,被打断。
2、http状态码(这个前面忘记写了,每一面都问了一次)。楼主答了1xx 200 301 302 304 400 401 404 500 501
3、自由发挥讲解OC。bb了30min把,runtime(method swizzling ,isa swizzling,kvo,class struct,sidetables) runloop(联系autoreleasepool,source,observer,mach port,run rununtildate,CF)喝了口水准备讲ARC的时候被打断了,说够深了,不用说了。
4、两个矩形重叠部分的点。一开始没听清,以为是求重叠面积,后来面试官很耐心,给了提示,降到一维去写比较好。然后数据结构也要设计,就是class point。
5、几个计网的题,忘记了,常规。
6、职业规划:blablablablabla
7、项目遇到的困难:捡一个说,楼主说了个简单的,很后悔。。。。应该说当时stm32直出DA当信号线然后控制器GG的事。。。。没错楼主写过stm32,做过机械改造。
8、有啥想问我的:。。。。。。。。。。。这个我真的不好意思说,当时面崩了,说了句,面试官您真的很有耐心,我这么菜,咱们有缘再见,我还会继续投头条的手动捂脸。。。。。。。。。。。。。。。。。。。。
总结一下iOS的知识点的话大概是这样:
l 底层结构:class(内含多种结构体),block,sidetables,autoreleasepoolpage。runloop的话也要注意底层的source,observer,mode。
l ISA:优化,tagged pointer; ISA swizzling;super和isa的类循环图
l ARC:规则;修饰符;与autorelease关系(几种修饰符是否注册autoreleasepool,__weak规则有更新要注意)。
l block:底层结构(上文已提),__block的本质,__weak消除的原理,判断隐式循环引用的场景题,forwarding指针,copy的过程。
l runloop:mode,source,observer,再深入的mach port。
l msg_sender,msg_forward。基础了。
l property,dynamic,synthesize
l 深浅复制的4种组合。
l load,initialize。一定注意区别。
l GCD专题,一直了解到dispatch_source。
l super的本质。
l KVO,KVC。其实都是根据上面的东西就可以做了,注意KVO的apple实现过程(隐藏类)。
l runtime实现的反射。明白了class struct这些就很自然了。
l category。同上。
初学一个月,没有涉及UIkit,各位大佬轻拍。
7、 面试的一些经验。
前面说了,一天14个小时,一个月没有休息,一个月的艰难,让我三面面完了就哭了。面得太差了。算法题一个也没有撸完,智力题根本就没有思考,脑子都不转了。三面最后,面试官说,你有什么个想问我的吗,我说,面试官我太菜了,我会继续努力的,过几个月我还会投实习生的,咱们有缘再见。面试官扑哧一声就笑了,我也只好赔笑,心里难过的要死,怀疑自己真的选错了,听爸妈的才是最好的。三面完以后每天都活在煎熬里,想自己拿大部头砸自己让自己别想了,老老实实看书,却总是看着看着就走神,啥也看不进去,心想完蛋了,可能只有听到挂了的消息才能继续看书了。所以大家在这种重要的面试结束后如果看不进去书,就干脆出去玩玩吧,放松一下好很多。
总结:
秋招算是完美收官了,也验证了自己的能力,希望自己能在以后的路上走得更远一些。感谢牛客网的各位在我失落的时候发来的宽慰,感谢各位前辈的指导和经验。应该近期就会入职,春招的时候会回来发内推的。