字节终于offer 分享下面经
一面
了解 ConcurrentHashMap 如何做到并发安全的吗?
是怎么使用 CAS 的?
刚刚你提到 synchronized,Java 中还有哪些锁?
能说一下 synchronized 具体加锁过程?
可重入是怎么做的呢?怎么判断是不是当前线程持有的呢?(每太说清楚)
ReentrantLock 有个公平锁和非公平锁,公平锁如何做的?
现在有一个线程池,有 5 个线程,如何等待这五个线程完成再继续往下执行?
只说了个 join,没回答出
线程池用过吗?自己写过吗?
(我还以为是自己配置7个参数,他的意思是完整的自己写的线程池。。。)
七个参数解释一下?
了解怎么确定最大线程数呢?
数据库的事务指什么?
用过 Mysql 吗?隔离级别有哪些?
可重复读是怎么做到的?
给了个 SQL,select * from table order by create_time limit 10000 100,假设有一亿数据,create_time 上有索引,有什么问题?(大概是这样)
只回答出 limit 会扫描 10100 条数据,不是他想要的答案。
HTTP 头部有哪些?(只说了几个,谁去记这个啊)
HTTP 有哪些方法?
HTTPS 与 HTTP 的区别?SSL 是如何加密的?
TCP 头部有什么?
你了解过 reset 吗,重置连接?
没有
SYN 洪水攻击?
平时有手动实现 TCP 编程吗?
做过,但记不清勒
网络编程会用到 IO 多路复用, 讲一下IO多路复用?
不太清楚。。。
算法题:链表 m-n 上反转
二面
是怎么使用 CAS 的?
刚刚你提到 synchronized,Java 中还有哪些锁?
能说一下 synchronized 具体加锁过程?
可重入是怎么做的呢?怎么判断是不是当前线程持有的呢?(每太说清楚)
ReentrantLock 有个公平锁和非公平锁,公平锁如何做的?
现在有一个线程池,有 5 个线程,如何等待这五个线程完成再继续往下执行?
只说了个 join,没回答出
线程池用过吗?自己写过吗?
(我还以为是自己配置7个参数,他的意思是完整的自己写的线程池。。。)
七个参数解释一下?
了解怎么确定最大线程数呢?
数据库的事务指什么?
用过 Mysql 吗?隔离级别有哪些?
可重复读是怎么做到的?
给了个 SQL,select * from table order by create_time limit 10000 100,假设有一亿数据,create_time 上有索引,有什么问题?(大概是这样)
只回答出 limit 会扫描 10100 条数据,不是他想要的答案。
HTTP 头部有哪些?(只说了几个,谁去记这个啊)
HTTP 有哪些方法?
HTTPS 与 HTTP 的区别?SSL 是如何加密的?
TCP 头部有什么?
你了解过 reset 吗,重置连接?
没有
SYN 洪水攻击?
平时有手动实现 TCP 编程吗?
做过,但记不清勒
网络编程会用到 IO 多路复用, 讲一下IO多路复用?
不太清楚。。。
算法题:链表 m-n 上反转
二面
细问我的垃圾项目,问到你说不清为止。
除了Redis,其他的中间件有接触过吗?比如说消息队列,MQ,ES 有接触过吗?
没有
其他项目有想要介绍的吗?
囧,没有
你搭建了博客,看你使用了 Docker,有了解底层实现吗?
只了解了使用,不过我对 Nginx 有了解比较多
对 Linux 命令熟吗?
不是很常用
Redis 有哪几种数据类型?
sort set 是怎么实现的?
为什么使用跳跃链表?不用其他的有序结构,比如平衡二叉树,查询效率也很高?(凭猜测说了几点)
sort set 怎么插入数据?(没答好,乱扯一通)
你了解过 Redis 设置一个键的过期时间是怎么实现的吗?
不了解
内存逐出策略?
知道一条SQL 从开始到执行完成经历的过程?
没答上来
怎么判断能不能利用索引,有哪些决策?
了解 MySQL 的事务隔离级别吗?
做了道 SQL 的事务图,MVCC相关,判断读取到的内容
算法:正则表达式
三面:
没有
其他项目有想要介绍的吗?
囧,没有
你搭建了博客,看你使用了 Docker,有了解底层实现吗?
只了解了使用,不过我对 Nginx 有了解比较多
对 Linux 命令熟吗?
不是很常用
Redis 有哪几种数据类型?
sort set 是怎么实现的?
为什么使用跳跃链表?不用其他的有序结构,比如平衡二叉树,查询效率也很高?(凭猜测说了几点)
sort set 怎么插入数据?(没答好,乱扯一通)
你了解过 Redis 设置一个键的过期时间是怎么实现的吗?
不了解
内存逐出策略?
知道一条SQL 从开始到执行完成经历的过程?
没答上来
怎么判断能不能利用索引,有哪些决策?
了解 MySQL 的事务隔离级别吗?
做了道 SQL 的事务图,MVCC相关,判断读取到的内容
从一道算法,地图左上角走到地图右下角,只能往下往右,聊解法,dp,dfs,bfs,讲到哪聊到哪。
然后问我八股,他翻了下2分钟文档,说之前两次问得差不多了,不问了(看来字节面评记得很详细啊)。问了点 Git 相关操作,与 SVN 对比的优势。
算法:62 进制(思路很快就有,但是细节错误百出,在面试官提醒了两三个细节才解决的,所以下来就感觉凉了)
三面后等了 3 天 offer
总的来说运气很好,三月份才知道有暑期实习,中旬才开始投递准备,一个月复习计网操作系统Java基础多线程的同时,快速“掌握”虚拟机、Redis,LeetCode 到现在才刷60多道题。腾讯一面进人才库,阿里三面后养鱼锁hc,最后已经打算备战秋招了,没想到字节捞起了我,这份好运我不会辜负的。