7月16日下午三点开始,非科班211本985硕,讲了35分钟,手撕一道简单5分钟,总时间大概40分钟左右。
- 首先自我介绍,项目,科研项目 + ssm 秒杀项目,在介绍项目过程中我基本把自己所用到的中间件以及方案都有所介绍了,所以问题就问的不多。
- 秒杀时,大量读库存请求打到数据库上这么处理。Redis 缓存库存信息,先读缓存,缓存未命中再请求数据库
- Redis 的缓存穿透以及解决方案。缓存空对象、布隆过滤器。
- synchronized 关键词,不同级别的锁。偏向锁、轻量级锁、重量级锁。
- 轻量级锁的自旋和重量级锁的阻塞状态有什么不同。
- Java 中的 SPI。
- 数据库四种隔离级别。
- MVCC。
- TCP的可靠性。
- HTTP 和 HTTPS 的区别,并说一下 HTTPS 的过程。
- 手撕,力扣 53
提前批第一次面试,本来春招投了上海企业应用,但是因为实验室原因没去成实习,提前批转投杭州后从头开始面,总体感觉很好,面试官是个年轻的小哥,中间因为电脑外放声音突然出问题了,后面就用电话说,系统上写题。问了进去会转go。面完之后一会联系hr已经过了,就约了下周三二面。
更新二面面经
7月21日下午两点开始,和上一轮差不多,面试官人很好,有哪里说的不对的会指出来。
- 首先还是自我介绍,项目介绍
- Redis 如何解决缓存和数据库一致性
- 操作系统的进程和线程
- 进程调度算法有哪些
- 进程间通信和线程间通信的方式
- MySQL中的引擎有哪些,有哪些不同
- TCP的拥塞控制
- 手撕 力扣 440 字典序第 k 个数。号称字节最常考题之一。
手撕是做过的,一开始先和面试官讨论了一下思路,然后写完后按照代码又讲了一遍,被面试官发现是写过的。面完后约了下周一三面。
更新三面面经
7月29号下午6点开始,时间是前两轮差不多。本来是周一三面的,但是因为周一项目组验收汇报冲突,最后改到周四下午。三面面试官气场很足,感觉就是个大佬。
- 因为非科班,上来就问了为啥要转行。
- 平时学习方法,有实习吗。
- 盘项目,就是一个简单的秒杀,问了数据库中乐观锁、悲观锁实现,还有 Redis 缓存的一些使用细节。
- 怎么处理缓存和数据库一致性问题。上一面也问到了,网上的一般说法是淘汰缓存,但是秒杀场景这种方式不太适合,二面下来后查了应该用 lua 脚本+分布式锁进行扣库存处理。
- 介绍 Redis 的一些特性。这个问题比较开放,让我说一些自己知道的。
- Redis 的几种集群模式。
- 数据库使用了哪个版本。
- 索引相关。
- 数据库分页用过没。数据量有多少。
- JVM内存结构。
- JVM中的GC机制。
- 手撕,第一个是个多线程的题,窗口卖票 ,百度找到有点类似的,但是有些其他要求。当时有些想法,但是多线程题做的太少了,在那边卡了一会,面试官看了就说换个题。
- 算法,力扣 31 下一个排列。
面完感觉自己被榨干了,有些问题可能遗漏,但是大概就是这些。三面太难顶了,感觉面试官就想看是否有实践经历,我一个通信专业的实在是少有好多实践的机会啊,只能照着一些简单的开源项目自己跟一遍。多线程的手撕还是遗漏了,后面得补一补。说是三天之内出结果,许愿一个offer。
字节这面试效率很高,但是意向书流程太慢了,我等了两个多星期终于意向书了,感谢感谢!
全部评论
(4) 回帖