菜鸟的字节客户端实习 面经(已offer)
6.8 拿到offer了,开心
-----------------------------------------------
6.5 更新,等的很着急,问了hr三面是过了,但是没后续通知😅,来回忆回忆面试踩过的坑。
------------------------------------------------
第一次找实习,感觉字节的面试官都好好,就是自己太菜难为了他们
一面(5.18)
操作系统1. 进程线程区别
2. 进程通信
3. HashMap底层数据结构+扩容机制,与ConcurrentHashMap区别
4. final,finalize, finally有什么区别
5. Sychronized关键字
6. 列举常用的数据结构,数组链表区别,队列和栈的区别(存储的方式从的物理上和逻辑上说,还有增删改查的时间复杂度)
1. 网络层的功能,子网掩码的用途
2. TCP,UDP是哪一层,这一层作用是什么。他们之间的区别
3. TCP三次握手+拥塞控制
4. 浏览器中输入域名后发生了什么(我觉得第一步从DNS解析域名为ip地址来答,这是应用层,然后传输层TCP/UDP添加首部一层一层的去说,比如网络层是ip路由寻址,链路层是ip转换为mac地址为止,每一层用到的协议,流程都大概需要了解,可能主要是想看看你知识的深度把)
5. Https和http的区别6. SSL流程,只用非对称加密通信不行吗?
7. 数字证书认证流程
8. DNS服务器基本流程,DNS劫持是什么
算法:
1.给定int RandomA(), 生成一个随机数1-5. 每个数的概率0.2
实现 int RandomB(), 范围为1-25. 每个数概率为0.04
2. 二叉树中序遍历递归+非递归
3. 链表的入环节点
二面(5.25)
自我介绍
问了下项目,项目权限管理是怎么实现的
Java基础
1. 反射+泛型底层是怎么实现的
2. 静态内部类,匿名内部类
3. 封装,继承,多态
4. 重载,重写
5. Spring中ioc的工厂模式
(问完java基础我崩了,没怎么复习这块,都是凭着模糊的记忆在答)
网络
4. HTTP状态码
5. HTTP报文头部(+Request,Response的报文有什么不同)
算法
1. 二维数组查找指定数字,时间复杂度O(m+n)
2. 链表倒数第K个数
三面(6.2)
基础1. Sychronized 和 Volitile关键字,在一个情境下选择哪个
2. 介绍项目
3. 动态规划:连续子数组最大和
4. LFU的如何实现(只准备了LRU,和面试官对视了10分钟后,尴尬的笑了笑)
面试官人都很Nice,不会多为难你,都是和你去探讨,你说错了他也就笑笑😜
#字节跳动面试##字节跳动##Java工程师##实习##面经#