头条面试流程
简历通过之后,HR会先跟你打个电话确认,然后发个流程邮件。一轮笔试,三轮技术面试,最后是HR面。
在这里要聊一下,头条面试确实很有一套风格:笔试题时间大约只有四十分钟,是1个Java题,4个Android题,1个算法,1个设计,都是经典题型,谁都能写上点东西,这个最考验一个人的水平了,从你答题的深度,可以看出你的水平。
技术面,每一轮时间都在一个小时左右,而且都有java,Android和算法,只是侧重点不一样,第一轮是笔试题+基础;第二轮是你简历上写的技术点,不断深入问;第三轮主要是聊你曾经做过的项目,会非常细。最后是HR,就是常见的提问,主要是收集你的情况,实话实说即可,不要太偏激就好。
关于面试题
头条对于员工的管理是极严格的,这些都是不允许透露的,所以为了不招惹麻烦,我就不能具体说每个题是什么了,实际上除了笔试题,其他说了也没意义,每个面试官都会根据自己的喜好以及你的简历,问出无数种问题,而且技术面足足有三轮,你可以幸运地过一个,不可能连续幸运三次,所以还是好好积累吧。
面试准备
首先,一定要先搭建自己的知识体系,再往里面填充各种东西,才能真正掌握,这个填充过程一定要从点滴做起,面试前才去突击是没多大作用的。
比如这样:
对于Android工程师来说,这个越来越成熟的岗位,要求是越来越高了,知识体系大约有十个方面:Java基础,Java虚拟机;Android基础,Android源码;开源库,算法;操作系统,计算机网络;软件工程,设计模式
。
下面举几个最常见的面试问题吧:
Java基础
- final finally finalize有什么关系
- HashMap原理
- 编译时注解
Java虚拟机
按照问到的可能性是大小,类的加载 > JMM > GC > Java内存分区 > oop-klass > JIT
Android基础
- Activity A启动B之后生命周期
- onSaveInstance()和onNewIntent()调用时机
Android源码
- 消息机制
- View的事件处理机制
- View的绘制过程
- Activity启动过程
开源库
- OKHttp
- Glide
- LeakCanary
- RxJava实现原理
算法
- 树的深度和广度优先遍历(非递归)
- 100万个树找最大的100个
- 快排
- 堆排序
操作系统
- 进程和线程的区别
- 多线程的实现方法
- 异步改同步
- 生产者消费者模式
- 手写线程池
计算机网络
- 七层架构
- TCP的三次握手四次挥手
- https和http的区别
软件工程
- 类图
- 时序图
- 如何设计一个项目(往功能性,健壮性,性能性,时间成本四个纬度上套)
设计模式
- 面向对象七大原则
- 手写单例
- 手写观察者
- 代理模式
文末
技术是没有终点的,也是学不完的,最重要的是活着、不秃。
零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。
最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。
技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。
拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!
一下简历,毕竟是找工作的敲门砖。
拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!