字节提前批一面(客户端开发(Android))

全程面了一个半小时

1. java是一门面向对象语言的,怎么理解的?

2. 面向对象的特性?

3. Java类修饰符

4. 不同修饰符的区别

5. 多线程了解吗?线程与进程说一下

6. 进程之间通信的方式(其中我答了一个socket,接着就往下深入了)

7. TCP和UDP的区别?应用场景(我答了浏览网页和QQ发消息)

8. TCP是哪一层的协议?IP呢?

9. TCP三次握手,四次挥手,握手最后一次能传数据吗?(答能传)又问那为什么会第三次握手,直接开始传数据不就行吗?四次挥手为什么不是三次?

10. QQ发消息用UDP怎么实现不丢消息的(面试官问我我会怎么解决,我答了TCP传送少量消息加UDP传送大量消息)为什么不直接用TCP?(我答,TCP慢,UDP快无需差错检测,大量消息用UDP会快些,TCP辅助验证消息确认消息发到,好像大致是这样的,哎……)

11. Https数据包的结构?

12. 产生死锁的条件

13. Synchronized与ReentrantLock讲一下

14. 现在有一个类A,里面有两个方法(打印一句话),一个静态方法,一个普通方法,都用synchronized修饰,现在生成一个对象,在两个线程里面分别调用这两个方法,两个方法里面的内容能正常打印出来吗?(我觉得能打印出来,后来试了一下确实能,但面试官一直问,似乎他觉得不可以,可能是我听错了?)

15. 比如微信发朋友圈,要上传完九张图片,最后才能发朋友圈?多线程是怎样实现的?(面试官引导了一下,C线程要在A线程和B线程执行完成之后执行,怎么实现,当时想着用锁,没想出怎么弄,最后答了一个用信号,类似于广播),面试官又问,信号会不会太多了,怎么解决?(最后确实答不上来,就过了)

16. 熟悉JVM吗?类装载过程是什么?

 

一直很奇怪,没问Android的问题,来了……

 

17. Activity的启动模?SingleTask的应用场景?(一时没想到怎么解释,面试官说了一个注册流程的的例子……说了好半天)

18. Handler机制?两个子线程能通过Handler通信吗?一个线程能有多个looper吗?在线程里面构建多个looper会怎么样?为什么只能有一个looper?(没答上来就结束了)

 

做题:大数相加,做完之后讲思路(面试官看我用C++写,就问我对C++熟悉吗?我说只刷题,不太熟,又问熟悉STL吗?我答只会用一些常用的,如vector、Map啥的)。

 

 

反问环节:问了一下它们是不是每个工作周期都是开发一个新的APP?所有定制组件都是自己重构的吗?Github上的代码能直接改了用吗?随便扯了一下

#字节跳动安卓工程师面经##字节跳动##面经##校招#
全部评论
冲冲冲
1 回复 分享
发布于 2021-08-06 13:33
厉害厉害!
点赞 回复 分享
发布于 2021-12-07 19:11

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
评论
3
37
分享
牛客网
牛客企业服务