[写面经,攒人品]今日头条Android开发岗实习生面试
实习僧上投递的简历,6.25下午投递,当天被查看,6.26上午收到面试邀请,约定面试时间7.4 14:00
没估计好路上的时间,大概1:10分左右到达,在一楼休息区等了半个小时,才上楼去前台登记面试,面试的人很多,以为要等很久,没想到刚坐下就被叫到了,emmmm,面试这个岗位的只有我一个?
一面,是个女面试官,45分钟
上来先自我介绍,然后....“我们先来写个算法吧,写个归并排序”
我的天,我都懵了好么,能怎么办,捂着我的小心脏写啊,幸好之前把几大常用算法都整理了一遍,去的路上也一直在看几个算法的代码,磕磕绊绊总算用递归写完了,还好她没有要求要用迭代写,真让人头大。
接着问了网络相关的问题:
http的请求过程
tcp的三次握手
用户是如何通过url地址访问到服务器的,它怎么知道要访问哪个浏览器
http的请求头都有什么内容(这个不太记得了,没答好)
http与https的区别
网络的七层协议(没准备这个,虽然学过,但是忘了...)
get和post的区别
接着是java相关的
用过锁么,锁加载方法上叫什么锁(我内心 啥意思啊..随便答了个对象锁,没想到还真是...)
一个类里A B两个方法都加锁,C线程访问A的时候,D可以访问B么?
可重入锁是什么意思?
一个类用final修饰是要干啥?(内心:还有这操作?)
jvm内存模型,为什么要了解‘
垃圾回收机制,哪些是要被回收的对象(哪些被回收?不用了的死了的对象啊。。判断依据是什么??布吉岛)
有了解过注解么?(了解过,注释是给人看的,注解给机器看的,override,压制警告之类的)
自定义注解?(@interface) 具体的实现原理(不知道) 源代码阶段还是编译时还是运行时(我说编译时,好像不对?)
(之前在bilibili上看视频学到,记了笔记,但当时的感觉是,注解?面试官不能问这个问题吧,白学了,,今天,嘿嘿嘿,开心)
(之前在bilibili上看视频学到,记了笔记,但当时的感觉是,注解?面试官不能问这个问题吧,白学了,,今天,嘿嘿嘿,开心)
然后是android开发相关的
singleInstance和singleTask的区别(我记反了,捂脸)
了解过手势操作么(没有)
recycleview和listview的区别(只知道前者能局部刷新)
有了解过android新技术么?(没有)
view和viewGroup的区别(不知道)
二面,男面试官,一看就是技术大佬,60分钟
首先自我介绍,然后...手写程序...最短时间内,计算5个磁盘的大小的和,每个磁盘的计算方法的调用过程都很耗时
简直一脸蒙蔽哦,又来...这个真不会...强行创建了5个线程..然后该做啥我也不知道了,干脆就让直接计算了.。。。
tcp和udp的区别,使用场景
写一个单例模式,如何做到线程安全(双重加锁)(又写...)
找出一个数组内最大的n个值,并存到数组中返回。(还写...感觉没写好。。)
volatile作用?如何保证线程之间可见的?(答了一些,感觉可能回答的深度不够,这个问题问了很久)
序列化serializable和parcelable的区别(我...面试官当时不会写序列化这个单词,准备在电脑上找,我对他说,不用找了,我不会!第一个见过,第二个没见过..确实没复习到...当时就没学懂....)
Android相关
activity被局部遮挡以后的状态,以及取消遮挡以后的状态(onPause(),onResume())
singleInstance和singleTask的应用场景(只知道主界面用singletask)
画多个activity的入栈出栈图
activity中onNewIntent方法(没见过)
listview中有个方法的参数是什么意思?(不知道)
还问了挺多吧,反正都不会...
最后一题:
Integer A=1
Integer B=1
Integer C=new Integer(1);
Integer D=129
Integer E=129
==的返回结果,嘿嘿嘿,当时也是皮了一下,我说,本来不是很确定,但既然你都问了A==B,那D==E肯定是false,然后说0-127,这128个数肯定都相等;
没想到皮过了,人紧接着问我,那-3呢?真的不知道原理啊,但我觉得肯定相等,直觉以及迷之自信! 最后,面试官说,我的问题都问完了,你有什么要问我的么?
我也不知道该问啥啊,直接说没有了,然后面试官又问,没有么?
我。。那请问你有女朋友么?面试官说这个不方便告诉我=。=
等hr面试通知,emmm,但是我感觉我已经凉了啊