字节广告Java实习一面面经
不得不说字节实习面试还是难。
- 一开始自我介绍。
- 问输入一个URL之后发生什么。
- 问了不了解DNS劫持。
- 问DNS怎么查询二级域名。
- 问HTTP状态码。
- 问怎么进行一个权限控制。
- 问OAUTH2协议。
- 问线程池七大参数,IO密集型和CPU密集型用什么类型的线程池。这里没答好。
- 问数据库为什么用B+树不用B或者二叉树或者哈希表。
- 问redis数据结构。
- 问skiplist。
- 问邻接表和邻接矩阵,这个没答好。
- 然后算法题,给定数值求二叉树根节点到叶子结点之和等于该数值的路径。
二面
两天前面了字节的一面,感觉难得很,过不过都难说,面对二面还是很紧张的。
- 一开始面试官先做了自我介绍,然后让我也做了个自我介绍,面试官很和蔼可亲,上一个面试官侵略性就很足。
- 自我介绍中聊到了redis的读写分离,面试官让我讲讲读写分离。
- 然后问我输入一个网址后发生什么,从DNS开始讲,讲到DNS用UDP问了我为什么用UDP,问了我三次握手,问了我四次挥手,以及为什么三次为什么四次,我提到四次挥手的time_wait的时候讲了两个time_wait的原因,问我现在还会不会出现数据报文交错的情况。
- 问了我HTTP如何改善一个request对应一个response的情况,聊到了keepalive,聊了聊HTTP 1.0 1.1 2.0,聊了聊多路复用,我说不太了解HTTP的流水线,但是如果是我我会借鉴TCP的按序传输,选择重传或者回退N步。
- 问了我Java的HashMap的扩容机制,问了问1.7和1.8的rehash过程,问了问HashMap为什么会产生并发问题,以及怎么产生的,产生的过程。
- 问了问操作系统的进程间通信。
- 问了问CPU的调度过程。
- 然后算法题,大数相加,几个api忘记怎么用了还让我去搜了,然后一下子就做完了。
- 最后反问,问面试评价,说我基础扎实但是经验偏少,在他这里应该是给过了。这次二面可比之前的一面简单多了,希望三面顺利吧。
三面
直接先做题:合并两个有序链表。。
1、你做过哪些项目?
2、说一个你觉得难度最大的项目,你是怎么解决技术难点问题的。
3、你做过微服务项目吗?用的什么技术?
4、你说一下springcloud 的 hytrix的原理是什么?
5、说一下dubbo的原理。
7、知道微服务网格吗,知道微服务治理吗?
8、你的优点和缺点
为了跳槽我前后准备学习了一年的时间,学了很多内容,分享一下我的刷题笔记,希望能对你们有帮助
java基础
1. Java 基本功
2. Java 面向对象
3. Java 核心技术
面向对象
Java 核心技术
容器
1. ArrayList
2. LinkedList
3. HashMap
ArrayList
HashMap
并发
1. 并发容器
2. 线程池
3. 乐观锁与悲观锁
4. Atomic
5. AQS
线程池
乐观锁与悲观锁
JVM
1. Java内存区域
2. JVM垃圾回收
3. JDK 监控和故障处理工具
4. 类文件结构
5. 类加载过程
6. 类加载器
JVM垃圾回收
类加载器
网络
1.计算机网络知识
2.HTTPS中的TLS
计算机网络知识
HTTPS中的TLS
Linux
1. 从认识操作系统开始
2.初探Linux
3.Linux文件系统概览
4.Linux基本命令
初探Linux
数据结构与算法
1. 数据结构(布隆过滤器)
2. 算法
数据结构
数据库
1. MySQL
2.Redis
MySQL
Redis
系统设计
(一). RestFul API
(二). 常用框架
(三). 认证授权(JWT、SSO)
(四). 分布式
(五). 大型网站架构
(六). 微服务
常用框架
大型网站架构
必会工具
(一). Git
(二). Docker
面试指南
1. 程序员简历该怎么写
2. 如何准备面试
3. Java学习路线和方法推荐
最后
在这里给各位一些建议,一定要学会分配自己时间,要学的东西很多,真的很多,搞清楚哪些东西是重点,哪些东西仅仅了解就 够了。一定不要把精力都花在了学各种框架上,算法和数据结构真的很重要!
资料获取方式,点赞+关注,私信“666”免费领取资料