今日头条面经
我是在2017年2月15号左右的样子内推的今日头条,然后两面,投了之后没几天就有hr打电话过来了,约在一个下午视频面试,当场一面面试官就让我过了,然后过了三四天,二面面试官就和我联系了,聊了大概30多分钟就告诉我我过了二面了。然后就是和hr聊了,下面将我这两次面试的经历总结一下,以便后来者和自己以后做个参考
一面
一上来就先是自我介绍,我大概说了一下自己的学校,专业,自己的android学习历程,自己做的几个项目。
然后就是聊项目,让我介绍了一下这几个应用的整体情况,因为有一个已经上线的,还问了一下运营情况和下载量。
因为我的简历中说到了webview,接着问了很多webview的东西,webview的webviewsetting,怎么与js交互,几个回调函数onPagefinished,onError有没有用过。这里对于webview了解不够,我答的不是很好,面试官后来说不知道也没关系,我感觉他应该没有很在意。
接着问了几个库的原理,先是问了我用过fresco没,我说没用过,但是用过glide和UIL,看过他们的源码,他就让我大概讲了一下这些库的大概原理。然后问了OkHttp和Retrofit,我说我用过OkHttp和Retrofit,没看过源码,只看过volley源码。当时觉得gg了,还好,他也没有很在意,只让我讲了一下Retrofit的基本原理
后来感觉他比较看重的是基础东西,问了很多基础的东西,activity启动模式,handler机制,hashmap原理,jvm内存,gc,jni,广播,还有一些记不得了。反正挺多的,最后一共聊了一个多小时
当场面试官就告诉我过了,happy!只不过没问到算法,白瞎了我一个多星期的剑指offer。
二面
一面之后的几天我去看了OkHttp和Retrofit,并且看了《计算机网络》这本书应用层和部分传输层的内容,没想到最后还真问到了,虽然最后问的自己还是不知道,但是感觉心里稳了。
首先一上来还是自我介绍,然后就是问了计算机网络的东西,GET和POST的本质区别,从输入地址到服务器响应的过程,TCP拥塞机制,IP地址,链路层的转换等等,问的很细,由于我对链路层和以下的东西不是很了解,只回答到了链路层以上的过程,这点有点遗憾
接下来就问了操作系统,共享内存,怎么组织内存等等。这点也会深挖,这点由于没怎么准备操作系统的东西,答得也不好
接着还是java基础,ArrayList和LinkedList的区别,几种引用的区别,GC原理等等,还有一些不记得了。
然后问了一个算法,考察二叉树的使用。
二面当场面试官就告诉我我过了。happy too!
总结
1.今日头条问题都偏基础,数据结构,java基础,android基础,操作系统,计算机网络,算法问的比较少
2.感觉自己过的还是有点侥幸,感觉面试官很nice,态度都很和蔼,有些你不知道的问题还会告诉你。
3.感觉一个很重要的点就是去多问面试官,一起去解决问题,搞清需求,最后的那个算法就是因为和面试官沟通,才搞清他的需求就是让我去找一个数据结构完成搜索的需求,如果蒙着头做可能就出不来了。
4.感觉自己计算机网络,操作系统都还有所欠缺,后期会针对性的去补强。