4

2020最新字节跳动技术五面(刚拿Offer):一面,2021Android笔试题总结

 2 years ago
source link: https://blog.csdn.net/m0_64314432/article/details/121464119
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

刚拿到字节offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习心得。希望能够帮助更多的小伙伴。

我本科毕业于四川师范学院计算机系,刚毕业时也是小白,也是一步步成成起来的。需要提一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。


二、字节一面

一面是在上午9点多接到抖音的面试电话的,接到电话时相当非常兴奋、非常紧张的,毕竟是第一次这样的面试。

有些问题已经记不清了,下面列出了一面问到的问题:

一面主要问了计算机基础:

1.自我介绍+闲聊

2.tcp/ip相关,tcp/ip模型几层?

3.tcp和udp相关

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

,端口号位于哪一层?如果tcp和udp访问同一个端口号会怎么样?

4.http相关,http哪些操作是幂等的

5.https相关,对称非对称加密?具体操作?为什么数据传输时用对称加密?

然后是代码题:

1.从有序数组中选出两数之和等于target,返回索引,口述,一开始说用暴力遍历,优化之后对两个索引做二分,再优化对两个索引代表的数之和做二分

2.手撕LRU 我用了hashmap和linkedlist 面试官看我撕完提了一点优化意见,冗余代码合并,建议用环形链表

最后问了一下设计模式,然后又是闲聊(为什么选安卓)

反问面试官的问题:

1.评价一下我的这次面试表现!
2.一面都是基础知识,没怎么问安卓相关的(面试官说后面会问的)
3.有机会下次面试吗?

一面总结:

一面大概面了50多分钟,从面试官口中得知他是一个老员工,比我大不了多少,总体上还是聊得蛮投机的。最后的三个问题是我问面试官的,在回答我是否还有机会下次面试的时候说:竞争很激烈,不过机会还是有的。

可以看出一面的问题不是很难,但是要得到面试官比较高的评价,还是需要一定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。我回答问题的遵循一定的步骤:先回答问题本质,在回答具体细节,最后做一些平时编程中的扩展。这样,会让面试官觉得你确实是在这个技术上面下过功夫的。


三、字节二面

等了将近一周,终于再次接到字节面试电话,那叫一个激动啊,二面的面试官是一个部门主管,上来就直接问问题,开门见山没有一点拖泥带水。

二面面试过程中的问题:

1.自我介绍

2.项目介绍

3.设计一个可重入锁

4.双亲委派机制

5.多态底层实现(字节码

6.retrofit注解底层实现

7.quic协议底层实现

8.文件中间处理,怎么保证高可用

9.http2.0多路复用的底层实现

10.http2.0缺点

11.安卓内存不足考虑因素

12.加载图片时优化

13.硬盘分区分块,分大块还是小块

14.平时怎么学习

15.职业规划

反问面试官的问题:

1.评价一下我的面试表现
2.有机会下次面试吗?
3.您觉得我有哪些方面还需要提高?

二面总结:

二面面试官问的问题都比较直接,答案也是知道就知道,不知道就不知道。这些问题一部分是基础,一部分是根据你的专业技能的来提问的。

面完后面试官对我的评价是:中规中矩,有机会下次面试。虽说是中规中矩,但听到面试官说有机会下次面试就感觉这次面试应该过了。


四、阿里三面(总监面试)

又在焦灼中等待了一周,接到了三面通知。

下面是三面遇到的问题:

1.简单自我介绍之后,围绕曾经做过的项目问问题,譬如:

2.学过编译原理吗?emmmm,哭了,为什么问我这个

3.你这上面写你可以熟练使用spring进行开发,讲讲怎么用spring吧。啊这,我好像没写我熟练使用spring进行开发啊,面试官无中生有啊!!!

4.一堆数据库相关的问题

5.讲讲了解的设计模式,手写双校验实现的单例

6.设计一个购物车,里面的商品有不同的打折策略,计算出总价格,写出来代码

7.算法题,字符串数组子集

三面总结:

本以为三面是交叉面,没想到是字节的总监面试。由于具体的技术问题在前两轮面试中已经问过了,所以三面后不会有具体的技术问题,总结来看,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。

针对项目,面试官关注的无非以下几点:

  • 项目中某个比较重要的点是如何实现的(需要深入技术的原理)
  • 遇到的最大困难是什么(有哪些),你怎么解决的?
  • 如果需要扩展某个功能,如何降低系统的耦合度
  • 如果针对某个功能进行优化,你会怎么设计和优化

对于写在简历上面的项目,自己对照上面四个问题进行思考,才会在面试中游刃有余。因为任何在简历中作假的行为,面试官只要详细问你就露馅了。在听到面试官说有机会下次面试的时候,心中自然是非常高兴的。


五、字节四面(总监面)

四面安排在第二天下午四点多,这次面试感觉相对放松,没有什么高深的技术问题,感觉就像和朋友聊天的感觉,真的很感谢这位面试官。

下面是面试中的问到的问题:

  • 简单自我介绍
  • 介绍下你最有挑战的项目
  • 项目使用了什么架构,技术难度在哪里
  • 你目前的研究方向是什么

四面总结:
相对放松,没有什么高深的技术问题,感觉就像和朋友聊天的感觉,真的很感谢这位面试官。

下面是面试中的问到的问题:

  • 简单自我介绍
  • 介绍下你最有挑战的项目
  • 项目使用了什么架构,技术难度在哪里
  • 你目前的研究方向是什么

四面总结:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK