字节面经|后端开发|一二三面|已OC|新鲜面经

515 阅读4分钟

作者:力扣-404name

【个人情况】

双非大三 + 去年八月份开始准备 + 两个项目 + 开源仓库 + 几个国奖 + 知识库 + 专业绩点前1%

【面试情况】

笔试1h ak + 6场面试算法题都过 + 八股文应该没问题 + 中间件可能不熟悉 + 项目和场景设计题能勉勉强强满意

【一面】

字节面试是真的很看逻辑,讲到哪问到哪,合理提出关键字就会带动面试官去提问

总结评价:前期项目聊到哪问到哪,后期八股文是真太熟悉了,算法卡时间险过。

项目

1.讲讲项目里面对RabbitMQ的了解

2.RabbitMQ的交换机和队列的联系

3.Mysql监听binlog,binlog是什么?

4.redolog和binlog的区别。

5.RBAC是什么?怎么实现的?

6.讲了下如何设计,5个表,如何用json优化到三个表

7.如何配合业务层实现授权以及鉴权

8.Redis怎么统计在线用户。讲了下暴力统计token,面试官不满意,就过了

9.开始问redis,开始八股文

八股文

1.Redis的数据结构讲一讲 + 使用场景五种及使用场景 + bitmap

2.Zset里面跳表是什么?

3.Mysql里面为什么用B+树?

4.B+树和二叉树区别?那能不能用哈希呢?

5.讲讲数据库索引?八股ing

6什么是事务?

7.讲讲数据库的隔离级别,分别怎么解决可能出现的问题?

8.简单讲讲MVCC?

9.既然用了MVCC版本查看,为什么还会出现幻读? 

10.说说进程和线程的区别。老八股了

11.进程线程都怎么通信。八股拿下

12.线程的状态。老八股文

13.聊聊计算机网络输入URL到看到网页

14.四次握手。

算法

1.前序 + 中序 构建二叉树 并且前序 + 中序打印。

leetcode原题

【二面】

项目

1.你是来实习是吧?课程怎么办?

2.讲讲你对spring和springboot的理解?

3.springboot是怎么加载redis的

4.为什么比不用springboot更方便呢?

5.加载的redis或者bean是单例还是多例?默认单例

6.springboot是怎么实现单例模式的呢?

7.单例模式线程安全吗?本身不具备安全特性

8.怎么保证多线程下面单例模式安全?

9.concurrentMap和hashmap有什么区别?

11.线程安全是什么概念?

12.hashmap为什么多线程不安全,能举出例子来吗?

13.怎么保证线程安全?(锁)

14.volatile和synchronize有什么区别?

15.你能说说设计模式吗?

16.为什么设计模式更好,你能说说用和不用的区别吗?

17.讲讲几种常见的设计模式。

18.那讲讲微服务吧。

19.微服务两台机器怎么通信呢?

20.那两台机器如何用HTTP怎么找到对方?

21.那微服务都有什么部分呢 

22.注册中心是什么讲讲?

23.网关是什么呢?

24.你能说说分布式登录怎么保持状态吗?

25.假设用户登录了,我想封他id,怎么操作,在java程序哪操作?

26.讲讲如果让你项目去实现禁ID(T人),你怎么做?

27.如果不用redis呢?

28.那讲讲set集合?八股ing

29.怎么设计限制用户单位时间访问次数? 

算法

1. leetcode.1155. 掷骰子的N种方法

反问

1.我回答情况怎样?

2.能不能给一点建议。 

3.部门是Java还是Go?·

【三面】

项目

1.自我介绍吧。

2.项目的难点。

3.项目会有多线程安全问题吗?

场景

1.那既然用了redis,讲讲缓存一致性问题。

2.那你觉得你说的能保证一致性吗?

3.不仅从redis角度,同时从数据库并发可能产生问题角度答答。

4.不是很满意,再想想?

5.好现在来点设计问题,日志系统了解吧?。

6.如果我要你设计一个日志系统,你能问三个问题你会问什么?

7.现在再来个问题,计算机内核态和用户态概念懂吧,给我讲讲,把我当做小白。

8.说了很多计算机用语,再给你一次机会,把我当成文科生

9.说说你目前是怎么学习的。

10.再给你一次机会,你能不能讲讲RabbitMQ回答下一面的问

反问

1.实习生干什么工作?

2.介绍下部门?

3.Java后端开发在里面负责的是什么工作?

4.有什么建议?

作者:力扣-404name