2018Android暑期实习面试总结
历经两个月的春招,最近终于尘埃落定,为人生第一份实习画上圆满的句号。现在决定好好总结自己春招的准备和经历,为秋招再战。目录如下:
- 春招战绩
- 如何准备
- 知识考点
- 总结反思
1.春招战绩
基本情况:某985高校,非计算机专业大三学生,三年成绩排名4/74,GPA 3.62/4,求职意向为Android开发。
经过网申简历筛选和笔试考核之后,截至目前,共收到七家公司的面试邀约,分别是腾讯提前批、百度、美团点评、京东、华为、完美世界和腾讯大连,除京东因地点不合适放弃面试以外,其他的都非常幸运全部通关抵达终面,顺利完成所有面试环节,最终收获美团offer、华为offer、完美offer和腾讯大连offer,考虑之后决定去北京美团实习。
美团确实是心目中很不错的大厂,技术氛围浓厚,培训制度完善,尤其Java技术仅次于阿里,可以说非常期待接下来的实习呢!
2.如何准备
先大致介绍技术类整个招聘流程:
- 技术无群面,通常需要1~3轮技术面+1轮hr面,技术面围绕基础、实战项目等考察技术能力和学习能力是否可胜任,终面一般是hr面,考察简历真实性、候选者性格、沟通能力等相关素质以及个人意愿和发展是否和岗位匹配。
- 从网申简历筛选到笔试到每一轮面试都有被淘汰的可能,完成全部面试也未必代表稳了,hr最后会对通关候选人进行综合排序,根据hc,择优录取,只有接到hr的offer call才基本稳了。建议可在最后询问面试官对自己的评价,大致清楚通过这轮面试的可能性。
- 每个公司流程各有不同,以hr通知为准,比如我在腾讯提前批就面了五轮,在现场被通知临时加了两轮面试。另外技术面过多,很可能是被不同部门捞起来轮流面试,即部分公司允许在春招截止前开启多次面试流程,只要有部门感兴趣就会锁住简历发起面试,否则放回简历池。
- 时刻准备着。目前春招还在继续,后续我又收到了阿里、腾讯和携程的面试邀约,而且也有现在就开始进行秋招招聘的企业。所以不断的学习和查缺补漏吧,并没有一个真正的结束点。
- 面试途径有电话面试、远程面试和现场面试,都存在手撕代码的可能,尤其是视频面试时界面还有编译器。
然后分享个人的学习历程:
大二下确定就业方向Android开发,先简单自学Java,然后上慕课网看视频学习,并且跟着写写小demo熟悉开发环境,同时也开始维护个人博客,实时跟进自己学习进展。几个系列教程学完后开始看Android方面的书籍,比如看了n遍《第一行代码》,毕竟作为入门书籍,保证所有的知识点和实例都要完全吃透练透。之后着手准备了两个项目,其中个人APP就是通过独立创作的过程将所学过的知识融会贯通,后面又用一个月时间嚼完《Android开发艺术探索》,因为到了进阶层次会感觉有些吃力,于是通过写文总结的方式强迫自己多看多查多动手。到了后期也开始抓其他基础知识,看的书比如《大话数据结构》《大话设计模式》,还有计算机网络、算法、Java等,详情下一部分再细说。
现在暂时抛开技术知识,谈谈在整个春招准备中需要注意的几个要点:
(1)简历
- 简历的重要性就不多说了,虽然有很多办法得到内推机会免简历筛选直通笔试,但是最后一定是由简历+笔试成绩+(可能还有性格测评)综合决定面试官是否愿意给面试机会,如果简历足够优秀甚至还可以免笔试直接面试。
- 技术类简历一定要整洁,一页纸足够,可包含个人信息、教育经历、实习经历、项目经历、学生工作、获奖经历其中几个或者全部,和求职方向无关的经历没必要写进去,面试官并不关心。
- 简历的作用一个是给hr做初步筛选,这说明一定要强调相关技能名词,如熟练Java,即使hr不懂技术也知道你所熟练的技术的确是和岗位是匹配的;另一个是帮助面试官挖掘考题,所以最好写清楚在实习和项目中关键的技术点,方便面试官进一步切入询问。
- 强烈建议若有个人博客一定要写上!在腾讯二面前总监就看过我的网站,给他留下了不错的印象,面试时也没有过多的技术问题, 给的评价也是基础扎实、好学,可见良好的学习习惯很加分。
(2)网申
- 到了三四月份一大批公司开启网申通道,信息爆炸式增长,稍不注意可能就过了截止网申时间,其实有很多渠道可以帮助获得一手的求职信息甚至是内推机会,各种求职公众号和微信群(互联派、圈里、offersir、思成、门徒..)、求职网站(实习僧、大街网、拉勾网..)、信息平台(知乎、牛客、立知..)、让已入职学长姐推荐等等。
- 建议用excel汇总投递情况,比如网申截止时间、笔试时间、面试时间等,投递的岗位、工作地点、面试地点等,等投递了二三十个企业的时候就会发现这个表格的重要作用了。
- 尽早网申,网申也是个力气活,不要等最后堆了很多公司的网申,会发现一堆系统和表单要填写。另外,不要总想着完全准备好再去网申,自我感觉七八成复习好了就去网申吧,毕竟更多的经验来自于亲身实践。
- 有关“内推”到底怎么回事。鹅厂给的回复描述的非常贴切了:
- 其实内推最大的作用就是,在接下来的求职过程中让内推人帮你答疑解惑、查询内部状态和面试官评价,更好的了解岗位和面试情况。并没有比正常的网申走了什么捷径,也不必因为没有内推感到不适,况且很多企业只是免简历筛选,与其花大把时间四处找人内推,不如沉下心准备好笔试和面试。
(3)笔试
- 技术类笔试中很重要的一块就是大量的编程题(尤其是宇宙条满屏的堪比ACM的算法题),熟悉编程环境以及手写代码至关重要,这里推荐几个企业真题的笔试题库:牛客网、赛码网...不过说来惭愧,自己并没有练几套题,都是通过直接参与正式笔试来体验笔试环境,因此后期的笔试通过率才高上来。
- 另外很多公司并不会给某方向出单独的卷子,可能开发类的统一一张卷,所以难免会遇到非专业性问题,但也没必要系统去学习,此时题库就发挥用处了。
(4)面试
- 有关面试中的基础知识重点后面详说,还有一大块是项目,准备程度因人而异。另外还有一些内容需要准备,比如最基本的自我介绍、项目介绍等等,围绕简历挖掘可能被问的问题,以及hr会问的各种问题,比如职业规划、性格和优缺点等等,总之技术能力固然重要,但其他能力也不容忽视。
- 注意技术类现场面试切记忌穿正装!
- 建议自带铅笔橡皮,手写程序时可方便修改。
- 其实面试是个很好的查缺补漏的的方式,每次面试结束后都最好抽空总结一下,每次收获一点点,前进一大步。
(5)等待
- 面试结束后就进入了或许漫长的等待结果的时期。整个战线可能会拉的很长,一定用充足的耐心等待,心态非常重要!失利也不必灰心,尽快投入备战状态,机会总是会留给那些一直在做准备的人!推荐上牛客网实时关注同期小伙伴面试动态、获取新鲜出炉的面经,玄学求offer什么的也是可以的!
3.知识考点
站在前人的肩膀上,这里借鉴了Ruheng总结的知识框架。如果准备时间充足,以下的每个模块尽可能系统学习,不要盲目背题,因为面试的时候并不会是一句两句话就跳过去,很多时候会深入问下去,成体系的知识记得更深刻更牢固。因此在这里并没有去总结面试问题,学得多学的广肯定是没差的。
(1)Java--推荐书籍:《疯狂Java讲义》、《深入了解Java虚拟机》
- Java基础(Java 集合、反射、IO...)
- Java并发(多线程并发、同步...)
- Java虚拟机(内存模型、GC、类加载...)
- Java新动态
(2)Android--推荐书籍:《第一行代码》、《Android开发艺术与探索》
(3)数据结构--推荐书籍:《大话数据结构》
- 线性表、栈和队、树、图
- 散列查找、排序
- 海量数据处理
(4)算法
- 《剑指offer》
- LeetCode
(5)设计模式--推荐书籍:《大话设计模式》
- 创建型模式(有6种)
- 结构型模式(有7种)
- 行为型模式(有11种)
最好把设计模式和Android联系起来,比如View事件分发实际上就是责任链模式的一种体现等等。
(6)计算机网络
- TCP/IP相关
- HTTP、HTTPS相关
网络部分尤其强调,之前一直没有太放心上,后来腾讯第五面一个多小时的疯狂聊网络技术,非常崩溃,可能是自己网络相关经验确实少,希望引起注意。
(7)操作系统
- 进程与线程
- 内存管理
(8)数据库
- SQL语句
可能会和Android内嵌的SQLite数据库结合,比如如何做批量处理,要知道SQLite中如何做的事务处理。
4.总结反思
(1)春招已告一段落,总结自己目前存在的基础知识薄弱点,并计划了下一阶段的学习计划,比如网络项目不够及相关的框架不熟悉,期望在即将的实习中进一步学习和掌握;算法不足,接下来每天刷几道《剑指offer》和LeetCode;Java基础欠缺,将《深入了解Java虚拟机》列入读书计划。
(2)数十次面试中,有一个面试官给了我印象最深刻的建议,送给每个有着开发的心的小伙伴们,那就是“学会用一个工程师的视角思考和解决问题”。
(3)之前一直很想去某城市发展,且格外中意某厂,也较有自信,结果最后迟迟没等来面试邀约,还好在等待中为了汲取经验也有投递其他几家公司,庆幸自己选择了尝试没有吊死在一棵树,否则可能只能秋招再战,不过还是错过一大批大厂,略有遗憾。另外,在准备过程中也发现各位厂子的魅力所在,可谓是转角遇到爱。所以请不要放弃每个机会,这些也许都是你选择的资本!
最后,希望每个人都等待到自己心仪的offer!