货拉拉国际化技术部门Android实习生一、二面面经
1.自我介绍。
2.java的内存区域划分,分别是什么作用。
3.说说hashmap底层实现原理,和hashset有什么区别?如果用到多线程怎么保证线程安全?
4.string,stringbuilder,stringbuffer的区别。
5.什么是面向对象?
6.一个3升的桶和5升的桶,怎么确定4升的水?
7.八个球,其中一个比较重,最少几次能确定重的球?
8.什么内存泄露?导致内存泄露的常见原因?
9.一个父view和一个子view怎么实现在界面的居中?包括水平居中,竖直居中。
10.osi模型有几层?网络层,传输层的作用?
11.操作系统的磁盘,文件等的内容。
12.介绍一下https。
13.tcp的机制(滑动窗口协议)
14.网络层,传输层的常见协议有哪些
15.二叉树的遍历方式有哪些?
16.怎么确定单链表的倒数第k个节点。
17.什么时候能过来实习。
18.java中的四大引用。
19.说说大端,小端区别。
20.反问。
第二轮面试记得是这个部门的技术总监,hr小姐姐叮嘱我一定不要迟到。在10月8号的中午12点半左右,我开始了第二轮面试。怎么说呢,感觉这次面试并不会很难,而且也不会有那么大的压力感,总监性格很好,态度比较友好。不过面试时间比上次短了许多,记得的题目我就记下来了,有些记不起来了。面经如下:
1.自我介绍 ,感觉你们课程比较忙是吗
2.做项目遇到的难题?
3.有上线的项目吗。
4.有自定义框架过吗
5.http和https区别,https怎么进行加密数据的?
5.死锁是什么原因?四个必要条件?
6.学过哪些数据结构?
7.数组和链表的区别?
8.数组有0和非0的数,把0全放到后面,怎么做?那如果不开辟新的内存呢,在原数组上改动?那如果保证非0的元素在改变后位置顺序仍保持不变呢?
9.给个数组例如1,3,5,7,9等有序数组,找出是否有7的数字,有,返回索引,没有,返回-1;手写我看。说说算法思路。
10.反问。
文|牛客:小肥罗