深度复盘一下我的字节跳动四面(社招java岗)
今天参加的面试,对了,楼主是社招
1.自我介绍(balabala,面试官辣边好像有员工在授课,所以 嗯 我没说完 面试官也没听太清 不过无伤大雅, 直奔主题,开始问问题,开始慌了)
Java
2.场景题:如果我要存储一个100个数据,开多大的hashmap比较合适? 3.hashmap为什么是不安全的? 4.Java中 volatile和 synchronize的区别? 5.举一个Java的单例模式 6.Java中的UUID类知道吗?
操作系统
7.操作系统中用户态和内核态的区别?(呜呜呜,我说之前见过,但忘了,然后面试官说辣你记得啥,然后我说线程进程)
8.操作系统的线程和进程的区别?
9.线程间的通信方式有哪些?
10.线程间的切换和进程间的切换哪个代价大?
计算机网络
11.浏览器输入域名之后发生了些什么?
12.说一下DNS具体是怎么解析的?
13.客户端和服务器是如何建立连接的?
14.如果客户端在三次握手中发送第三次请求的时出现故障了,服务端会断开连接吗? 15.HTTP传输使用的是TCP协议还是UDP协议?
MySQL数据库
16.数据库中有哪些引擎,之间有哪些区别?
17.B+树索引和hash树索引的区别?
算法题
18.两个数组,内部不能进行排序,问如何实现两个数组的对应位置的值相同,如 【 1、2、5、3、4 】和 【 3、2、1、4、5 】,使得最后相应下标的值相同,数组内部可以任意排列,时间复杂度为Onlogn。(快排)
19.还是两个数组, 打印最长公共子序列的长度,如【 1、2、3、2、1 】和 【 3、2、1、4、5 】的最长公共子序列为【3、2、1】,长度为3.(动态规划)
————————————————
#字节跳动##社招##java工程师##面经#