前言
本编内容分享一下大佬的经历,从三个月之前的2.5实习,到10K+字节的。在这三个月是怎么学习!老样子先分享字节面经,结尾有惊喜!
字节跳动一面
- 什么是jvm吗
- 什么是翻译和编译
- jvm的内存结构
- 操作系统的缓存对应jvm的内存结构的哪一块
- 说说jvm垃圾回收的算法
- jvm是怎么回收垃圾的
- 你怎么知道一个对象是不是可回收(可达性分析)
- 间接对象是不是可回收对象呢
- https的过程,怎么保证安全
- 为什么ssl层要采用对称密钥通信
- 对称密钥和非对称密钥的区别
- tcp/ip的每一层代表的是什么
- ARP的过程
- ip地址是虚拟ip吧,为什么客户端和服务端能通通信
- 传输层的最重要的协议
- tcp和udp的区别
- tcp服务端如果内存满了,客户端怎么处理
- hashmap的原理
- 你了解hashtable吗,如果给你优化,你怎么优化
- 什么是线程安全
- 你了解锁吗,synchronized是怎么保证线程安全的
- volatile为什么能够保证可见性
- 如何删除排序链表的节点,例如(1->1->1->2->3),结果是(2->3)
字节跳动二面
- 聊聊项目,你这个项目怎么优化的,说说过程
- 给你一棵树,求两个节点之间的最长距离
- 说一下怎么设计LRU缓存,伪代码,哪个hashmap,可以做LRU缓存
- 进程通信的方式,你试试实现其中的一种,伪代码
- ClassNotFoundException和NoClassDefFoundError的区别
- arrayblockingqueue的原理,使用场景
- 谈谈你对实验室项目的认识,难点,收获
字节跳动三面
- 为什么IPV4都已经用完了,但是我们的ip还是够用
- 给你一个n,如何得到61n,不能用(+*/)
- 在一个桶中,有1024个数字,每个数字为[1-1024]的其中一个,假如在桶中+x,如何求这个x是多少
- 一个整形n,其中n为最大值,n+1会是个什么结果。为什么会这样?(我是按原码、反码、补码来回答,但是面试官还是不满意,结论对的,但是原理还不是这样,可能问底层吧)
- 7给你一个字符串"abcd123",右移3位得到"123abcd",给你(char [] chars,int n),求如何能够不用空间的情况下O(1),能够移位得到这个结果
- 场景题
涉及一个类,例如榨汁机,给你一个"榨汁"的方法,那你怎么设计这个方法(我回答首先要放原料,所以方法要改一下,为zhazhi(Cailiao cailiao),然后材料包含蔬菜和水果。然后面试官说有可能蔬菜和水果,都不可以榨汁啊,像土豆。所以继承不是个好想法。我就说有这么个要要求的话,那我用接口啊,标识这个东西就是可以榨汁,然后实现了这个接口的才能调用榨汁机这个方法)
25批马,没有计时器,5个赛道,求最快的3批,最少次数
给你一个时钟,0:00-23:59,时针和分针重叠了多少次
总结
从2.5K实习到现在的字节,这就是成长吧。大佬也跟我说:“曾经也无数次担心基础不好和短时间没准备而找不到好工作,但既然选择了这行,就只能咬牙坚持了,努力交给自己,剩下的交给时间"。
最后把大佬的面试资料和学习笔记免费分享给大家,希望对大家有帮助
资料免费领:戳这里免费领取,暗号:CSDN
爱编程,爱分享,听说点赞+关注的都进大厂了哦!!!