我们好,我是 developerHaoz,一名 96 年的腾讯 Android 工程师。双非本科,校招拿过腾讯、阿里等多家头部互联网公司的 offer,并且面试经过率 100%,曾辅导多位师弟师妹拿到包括阿里、拼多多、头条、bigo 等校招 offer。拿到过屡次腾讯的最高绩效,在面试和职场算是有些自己的心得,今天给我们共享下校招面试相关的方方面面。

一、面试前的预备

1、简历怎么写

简历的重要性不言而喻,各大公司每年都会收到成千上万份简历,如安在 HR 在很短的时刻内认可你的简历,将决定你是否能进入面试。假如简历写的满足优异,能够让咱们在提早批阶段直接越过书面考试进入面试环节,乃至即便书面考试成果不理想也或许由于简历而让咱们有面试时机。

01 排版

简历的内容固然重要,但简历的排版其实也是十分重要的,并且是大多数人简单忽略的点。好的排版会让人看起来很舒服,也会让面试官和 HR 愿意花更多的时刻去发现你的价值

  • 中英文之间,以及中文和数字之间加空格。这是由于中文和英文的字体排版有很大的不同,假如不加空格的话,看起来会十分密集凌乱,参差不齐。
  • 专有名词要区分大小写,这是体现一个人专业和细节很重要的一个点。例如运用 Java 而不是 java,iOS 而不是 ios,jQuery 而不是 jquery。
  • 当然最重要的是不要太花里胡哨的,尽量简洁。这儿强烈引荐运用 Markdown 来写简历。

02 技术满足具体

关于简历中的技术部分,要满足具体,一方面能让面试官对你能够真实地快速了解,另一方面也让面试官有内容可问,否则面试官或许就会按自己拿手的来问,这对咱们面试来说是十分不利的。

  • 反例:了解 HTTP、了解自定义 View、了解常用网络库

  • 正例:

    • 掌握 HTTP 报文格局,了解恳求行、Header、Body 的格局以及各自的效果,了解 GET、POST、PUT、DELETE 等方法的效果和区别,了解常见状态码如 200、302、404、500 的意义和使用场景
    • 了解 HTTPS 的作业方式,了解对称加密、非对称加密、数字签名的意义和区别,了解 HTTPS 的链接树立进程

03 需求留意的地方

  • 简历的命名很重要,要让 HR 一眼看到他想要的信息,能够参阅这个格局:岗位 – 姓名 – 联系方式,例如:Android-hockey-156261xxxxx
  • 简历必定要导出成 PDF,由于 PDF 的排版和格局在不同的操作系统上体现得比较一致,并且也方便打印
  • 简历中的阅历以及做过的项目必定要按时刻倒序来写,关于 HR 和面试官来说,你最近做的事是他们最关怀的部分,并且一般来说也是最能体现出你其时水准的部分

04 简历模板

最后供给一些我觉得很不错的简历模板

  • Markdown-Resume
  • trinea-Resume

2、简历怎样投

01 招聘时刻节点

关于校招生来说,需求关键重视两个招聘时刻节点

  • 春季实习招聘:3、4 月份
  • 秋季校园招聘:9、10 月份

关于大公司来说,无论是春招仍是秋招都分为三个批次:1、提早批 2、正式批 3、补招批

提早批一般比正式批提早一两个月,一般来说,只要简历满足优异,提早批能够直接越过书面考试进入面试环节,并且提早批会占去许多招聘名额,所以关于现已预备满足的同学,我是十分主张参与提早批面试的。

「早便是优势」。我大三那会就参与了腾讯的春招提早批面试,并顺利拿到 offer。所以在他人正式批还没开端面试的时分,我现已开端在腾讯实习了,也就意味着我在腾讯实习的时刻足足比他人多了两个月,这也为我后来拿到 special offer 打下了根底。

但参与提早批面试的条件是你真的预备好了,而不是说你仅仅想去试试。由于每个公司都会有面试记录,提早批体现欠好的话很或许会影响后续批次的面试,乃至有些公司假如提早批面试挂了的话,是不允许参与正式批的,所以要慎重。

Android 校招面试指南

02 招聘信息来历

关于互联网职业的公司来说,招聘的信息来历一般有三个

  • 各大公司的招聘官网以及官方大众号
  • 牛客网等招聘网站
  • 其他的招聘大众号

这儿关于校招生来说,强烈主张平常多去牛客网逛一逛,基本上能包含各大公司的招聘贴子以及内推,并且现在许多大公司的书面考试渠道也会选用牛客网,所以提早了解一下关于咱们是很有长处的。

03 内推

关于投递简历来说,我个人最主张的方式是经过内推。不同的公司关于内推的效果是不一样的,但一般来说内推由于有内部人员的背书,所以基本上能够防止简历被挑选掉。

别的最好找知道的师兄师姐进行内推,首要是能够帮咱们在面试后查询面试的结果以及进展,并且在面试前也能给咱们介绍公司的面试流程以及需求留意的地方,假如想去的公司真实没有知道的人,也能够上牛客网的内推贴,让发帖的人帮你内推,但在查询面试进展的积极性方面以及能起到的协助效果就低不少了。

3、针对性进行预备

面试是两边相互了解的进程,对方不只要了解你的硬实力、软实力,还需求了解你对这份作业的爱好和态度。所以提早了解面试的公司和面试官,会在面试环节中提高面试官对咱们的印象分。

  • 了解公司的主营业务,深度领会相关的软件

  • 针对对方的产品的长处提一些问题

    • 这个是怎样做的?(体现自己的爱好)
    • 这个是不是这么做的?(体现自己的考虑)

二、有计划的系统复习

前面的部分讲到了春招以及秋招的具体时刻节点,这儿再讲下我自己之前的规划,为了预备校招,我提早了半年开端预备复习,复习阶段首要分为三部分:

  • 学习「自己知道自己不会」的常识
  • 全方位的学习,构建自己的「常识系统」
  • 学习「自己不知道自己不会」的常识

1、学习「自己知道自己不会」的常识

其真实平常的学习进程中,总有一些自己想学可是由于学习压力或许其他原因,然后自己计划放在今后再学的东西,也便是所谓「自己知道自己不会」的常识。

例如:

  • 比较常用的一些结构,比如客户端的网络恳求、图片加载结构
  • 常用的一些类和集合的源码,比如 ArrayList、LinkedList、HashMap(面试必问)
  • 觉得自己无法明晰表达出来的概念,如「内存泄露」、「Java 并发」

这个阶段是一个对自己其时常识系统查漏补缺的一个阶段,你要做的,便是把自己不会的东西完好的列出来,然后逐一击破。

这个阶段最好经过博客的方式,将自己学到的东西「用自己的言语」表达出来。假如你能用自己的了解明晰、完好地说出来,乃至能让他人听懂你讲的东西,那基本就没问题了。

但假如自己脑海里无法构成一个明晰的概念的话,只能证明你对这个常识点还不行了解。

并且现在许多公司都将「写博客」作为一个加分点,一份简历其实并不能反映多少东西,但假如你有一个长期维护的博客的话,面试官能够经过你的博客更加清楚地了解你,并且坚持自身便是一件不简单的工作,面试官关于能够坚持写博客的人也会更加有好感。

2、全方位学习,构建自己的「常识系统」

许多人在平常学习和日常开发进程中,学了十分多的东西,但很少有人会去系统地复习,然后构建自己的常识系统,导致自己学到的许多常识点没方法更好的产生联系,并且或许会导致学了某个常识点没过多久就忘了。

那怎么构建咱们的「常识系统」呢?

能够讨教所在范畴里边,自己能链接到的最威望的人士,让他给咱们介绍所在范畴必学的方方面面,以及对应的重要性和优先级,别的能够参阅极客时刻上的路线图以及一些口碑比较好的付费课程的课程表信息。

我就拿 Android 来作为例子,Android 里边所谓的「常识系统」,我以为首要包含这几个部分:

  • Java 和 Anroid 根底
  • Android 功能优化
  • Android 前沿技术
  • 计算机网络
  • 操作系统
  • 规划形式
  • 数据结构和算法

也便是说咱们需求将这几个部分逐渐击破,渐渐完善咱们的常识系统。然后能够经过某个练手项目,把这个阶段学习到的东西,都运用到这个项目中。这个阶段是最花时刻和精力的,可是坚持下来会让咱们的根底变得更加扎实,并且能最大极限地构建咱们的常识系统。

在这儿我引荐一份十分好的材料:Android 校招面试指南

3、学习「自己不知道自己不会」的常识

这个标题或许会让你们有点纳闷,连自己都不知道自己不会的常识怎样学?这时分面试题的效果就出来了,「面向面试题编程」其实是一个查漏补缺、增强自己编程根底的十分好的方式。在做面试题的时分,你会遇到许多奇奇怪怪的问题,许多都是你「之前没有触摸过」或许「有触摸过却没有往那方面想」的问题。

刚开端遇到这些面试题的确很让人很不舒服,可是这些面试题也的确能够最大极限地提高咱们对常识之间联系的了解以及引发咱们对一些具体运用场景的考虑。当然更重要的是咱们能够经过刷从前各大互联网公司的面试题,让咱们关于公司面试题有一个大致的知道,并且也能提早了解到面试官面试时分的一些套路和做法。

在这儿引荐一些我看过的,觉得很不错的面试材料:

  • Android 面试指南
  • AndroidInterview-Q-A
  • Android LearningNotes
  • Android 面试

三、面试的一些主张和套路

首要,要着重一点,想拿到自己满足的 offer,最重要的便是提高自己的编程才干,特别是计算机方面的根底,这是每轮技术面试都必问的。没有满足的实力,再高的面试技巧也是没用的。

不过,在面试中的确也有许多需求留意的地方,乃至存在一些通用的经历和套路。掌握一些必要的面试技巧才干在面试官面前最大程度的展现咱们自己真实的水平,乃至超常发挥,然后拿到满足的 offer。

1、寻找自己的爱好点,并将其培养成自己的瑞士军刀

关于自己从事的职业,其实每个人都有着自己跟他人不一样的爱好点,例如我自己对「Android 网络」、「图片加载」这两方面的常识就有很大的爱好。

假如想要在 Android 面试中脱颖而出,拿到自己满足的 offer,具有某个「能超过绝大部分人」的技术是十分必要的,也便是所谓的你最出彩的地方。

在这次阿里技术二面的时分,面试官一上来就说:“上一轮的面试官现已问了许多关于项意图东西了,你给我讲一下你觉得自己在 Android 中学的最好的东西吧。

”其时听到这个问题我心中一阵窃喜,由于之前花了许多的时刻和精力在学习「Android 网络」和「图片加载」这两方面,关于这两方面我仍是很有掌握的,终究也顺利经过了阿里的技术面试。

上面举的例子便是为了阐明具有某些技术特长的重要性,在面试中许多时分面试官关怀的是你会什么,而不是纠结你不会什么。

并且技术的深度也比广度要重要的多,假如你在某方面研讨的比较深,很有自己的心得和领会,乃至连面试官在这方面都没方法问倒你的话,经过这次面试的成功率就会大大增加。

2、将一切的常识点写成对应的逐字稿

在日常的开发和学习进程中,信任许多人会觉得咱们学过的东西自己都现已理解了,可是真真实面试官面前,被面试官问到问题的时分却不知道怎样「完好」、「明晰」地表达出来。

针对这个问题,我自己的解决方法是将咱们在面试中或许会遇到的一切的常识点「全部」都写成 对应的逐字稿。

这儿的逐字稿有三个关键:

  • 必须是自己的总结和领会
  • 结合你自己的开发和项目阅历
  • 能够流畅的朗诵出来

写逐字稿的意图是让咱们在面试官面前能够「完好」、「明晰」地表达出咱们对常识的掌握和了解,所以必须用「自己的言语」将自己的总结和领会写出来,只要这样咱们才干记住更牢。

在写完逐字稿之后,咱们能够试着朗诵一下,看看能不能流畅的朗诵出来,假如中间有一些拗口或别扭的句子,就把它逐渐改善。

3、遇到不懂的问题直接回答不懂,但最好能将面试官的思路往咱们会的东西带

在面试的时分,切忌不懂装懂。

假如咱们面试的是技术岗位,有几斤几两,面试官问几个问题就知道 了,假如面试官问到的某个常识点,你仅仅有点印象或许没多少了解的话,直接回答这个常识不是很熟就行了。否则被面试官针对这个常识点追加几个问题的话,分分钟打你脸。

当然,在说对这个常识不是很熟之后,能够试着将面试官的面试思路往咱们会的东西带,例如我在阿里二面的时分,面试官问我有没有用过 B 树,由于我对 B 树不是很熟,所以我其时是这么讲的:“关于 B 树不是很了解,但之前在看 HashMap 源码的时分,有研讨过红黑树,对红黑树比较熟。” 然后成功地将面试官的问题转向了我了解的红黑树和 HashMap 的源码上面。

4、有意识地锻炼自己的交流和表达才干

假如想拿到满足的 offer,除了自身的技术实力过硬之外,具有杰出的交流和表达才干也是十分重要的。

即便实力再强,你不能很好的表达出来的话,也是白费功夫。交流和表达才干需求长时刻的「刻意练习」,并没有什么捷径。

其真实大一的时分,我的交流和表达才干也是相当差的,但后来自己开端渐渐理解了这项才干的重要性,所以在许多场合都会「刻意练习」这项技术。

并且自己后来当上了校园团队的负责人,有许多场合都需求我上台演讲或许进行一些内部的共享,再加上自己后来很喜欢玩「狼人杀」,表达才干便在这两年间有了很大的提高。

5、每一次面试完都要进行复盘,具体记录面试问到的题目

在每一轮面试结束之后,不要急着放松或许休息,先拿出备忘录将面试中面试官问到的问题「全部」都具体地记录下来。并且找个安静的地方渐渐的回想自己在面试进程中有没有哪些环节体现得不是很好或许是需求改善的。

每一次的面试都是一个很名贵的经历和财富,在面试往后都要对面试进行复盘,找出咱们在面试中体现的不行好的地方,然后针对性地进行改善,以及收集在面试进程中咱们答不出来的面试题,有针对的进行复习。

指不定下一轮面试问的便是你上一轮面试不会的问题,并且这个或许性是相当大的,由于面试官之间也是会进行交流的,你的面试体现也会传到下个面试官的手中。

总结

想要拿到满足的 offer,「坚持」是最重要的,抛开了尽力和坚持,其他的一切方法论都毫无用处。

任何一个职业都是不简单的,唯有持续的「有用」尽力,才干走得更远。 以上便是我关于校招面试的一些经历和领会,期望能对我们有所协助。