首页 > 笔经面经 > 字节跳动暑期实习Android一二三hr面经(offer)

字节跳动暑期实习Android一二三hr面经(offer)

头像
很丧的小黄鸭
编辑于 2019-03-27 22:43:18 APP内打开
赞 10 | 收藏 94 | 回复13 | 浏览5839

3.27,hr说offer已经审批下来了~

——————————————————————

3.14晚上投的简历,第二天打电话约3.18一面,以下是一二三hr面面经。由于三次都忘记录音了,只能凭记忆写,可能会有遗漏。

一面 (3.18 视频面 30min)

  1. (敲代码)给定一个数组,求第k小的数。
  2. TCP和UDP的区别,UDP如何实现可靠传输。
  3. 工作内存和主内存。(这里是给了一个例子,主线程有一个变量a,子线程里用到了这个变量,问这两处的变量是不是一个东西)
  4. GC讲一下。
  5. 线程安全。
  6. volatile, volatile和synchronized的区别。
  7. LruCache。
  8. 一般我们调试的时候,会用到断点,断点在底层是怎么实现的,为什么还可以看到一些变量的值。
  9. 地址对齐。(这里是先问我学过c没有,我说学过,他就给了我一段代码: struct A{ short a; int b;short c;};  struct B{ short a; int b; short c;}; 问这两个结构体在内存里分配的空间一样大吗。如果把B里面的 int b 和 short c调整一下顺序,还一样大吗,为什么。)
  10. Linux是用c/c++写的,为什么可以运行(或加载?) js、html。 (这个问题我不是很懂,所以也不太记得具体怎么问的了。。)
  11. 重写和重载的区别。
  12. HTTP如何实现断点续传的。
  13. 问了一下项目。

结束后,面试官让我不要退,让我十五分钟后二面。一面小哥哥人很nice的,让我等会二面不要这么紧张,放松一点。


二面 (3.18 视频面 45min)

  1. ArrayList和LinkedList的区别。
  2. List如何删除。(为什么用iterator的不用List的删除方法,讲了一下ConcurrentModificationException)
  3. 重写和重载的区别。
  4. 如何实现多态,多态的底层实现原理是什么(方法表)
  5. Handler原理。 (讲完后,问了一下取出message之后怎么知道要给哪个handler分发)
  6. HandlerThread原理。
  7. Looper。(大致就是想让回答 Android是依靠事件驱动的,通过Looper.loop()不断进行消息循环之类的
  8. 事件分发机制。( 讲完后问 如果注册了onTouchListener会发生什么)
  9. 项目的难点是什么,收获最大的是什么,现在回看项目,有哪些需要改进的地方。
  10. 还问了我愿不愿意去北京实习,我拒绝了...
  11. 算法:给定一个有序数组和target,判断target是否在数组里重复出现,如果有,输出第一次出现的下标。

三面 (3.22 视频面 1h)

其实3.18下午hr给我打电话,约3.20下午三面,结果到点后,面试官迟迟没出现,我问hr后,hr说面试官有事,让我改一个时间(........)

  1. Object有哪些公有方法。
  2. 讲一下equals()。
  3. 讲一下hashCode()。(这里提到了hashmap的原理)
  4. wait()的用法,notifyAll()的用法,notify()唤醒的是哪一个线程。
  5. 讲一下clone(),深拷贝和浅拷贝的区别。
  6. 讲一下jmm。
  7. 如何在栈上开辟空间。
  8. 如何在堆里开辟空间。
  9. 怎么会造成栈溢出,堆溢出。
  10. 类加载机制,什么时候需要对类进行初始化。
  11. 静态变量,实例变量,构造函数的初始化顺序。
  12. 如何减少GC,有哪些高频方***经常创建对象(好像是这个意思...) 【这里他问我擅长什么,我说gc(因为关于回收算法和垃圾收集器我记得比较熟),然后他说分代收集算法那些就不用讲了,就一直在问一些我不懂的东西,我真是搬起石头砸自己的脚....】
  13. AsyncTask的原理。
  14. Listview的复用机制,Listview和Recyclerview的区别。
  15. 一般怎么学习新技术(这里一定要你举个具体的例子,你通过什么渠道学习到了什么新的东西,我扯了半天说到jdk 1.7到jdk 1.8的变化,他问我具体有什么,我说haspmap从数组+链表变成了数组+链表+红黑树,他这时才说可以了...)
  16. 用过哪些数据结构。
  17. 数组和链表的区别,适用场景,为什么数组查找快,链表插入块。hashmap查找的时间复杂度,最好和最坏情况下是多少。
  18. 会什么算法。
  19. 快速排序思想讲一下, 复杂度是多少,最优和最坏情况复杂度是多少,怎么算出来的。
  20. 找出数组里重复次数最多的数(我这里了讲一种要排序的,一种不用排序然后用hashmap,他问我时间复杂度各是多少)
  21. HTTP的报文格式是什么。
  22. get和post的区别。
  23. 你在访问一个网站的时候,发生了什么,涉及到什么协议,讲传输层里的。
  24. 给了我一段代码,让我讲一下这个函数的作用是什么,大概是:

int isPair(int a,int b){

int sum=a+b;

return sum>100? 1:(sum<100?-1:0);

}


int countPair(int []array){

//Todo...

}

讲完后,让我实现下面那个函数,让我求出数组里有多少对相加等于100的,我想的是排序后,用头尾指针,我写完代码后,他说你这就结束了?让我想一下哪里有问题,还让我想一想如果不排序怎么做。

然后说今天面试结束了,面试官就下线了(也没让我提问....)

问题应该不止这些,尤其是三面,不停的问我,也不让我介绍项目,而且面试官气场超强,你无论说什么他面部表情都没什么变化的,让我压力倍大。。

大致就是这些啦,感觉三面有点凉的...


hr面 (3.25 电话面 15min)

  1. 问了我其中一个比赛,一个队伍里有多少人,担任什么职责。
  2. 大学做过的最骄傲的事情是什么。
  3. 说下自己的三个特质。(我说了一个自己的缺点,问我为什么会这么觉得)
  4. 大学最遗憾的事情是什么。
  5. 希望自己的leader是什么样的人。
  6. 希望在什么样的环境/氛围中工作。
  7. 还有面什么公司,如果那个公司也给你offer,你会怎么选。
  8. 什么时候可以开始实习,可以实习多久,有转正的意向吗。

最后hr说他那边应该没什么问题了,但是offer还要走几天的流程。

13条回帖

回帖
加载中...
回帖

笔经面经近期热帖

近期精华帖

热门推荐