首页 > 8.16 字节商业化后端一面面经
头像
LibErATioNn
编辑于 2021-08-17 11:35
+ 关注

8.16 字节商业化后端一面面经

8.16 字节商业化后端一面

一、自我介绍

二、项目相关(15min,问的挺细的)

用户登录的流程,以及如何在其他功能中判断用户是否登录

Redis在项目中咋使用的,为啥这么用,条数是多少。(我说就十几条他说那为啥不直接放在内存,尴尬了)

Redis宕机怎么办(直接在DB中查找)

问我了不了解哨兵机制和集群,这个不会了

三、java的类加载机制和双亲委派机制

四、ConcurrentHashMap如何保证线程安全(还问了HashMap为啥线程不安全)

五、了不了解LinkedHashMap,通过LinkedHashMap构造LRU缓存(这个没说出来)

六、Spring的 IOC 和AOP

解释了之后问我控制反转(IOC)是啥意思,面试官的意思是IOC不是Spring中独有的概念,我就不道了

问我有没有用过AOP,我说简单的用来权限校验

七、MySQL的锁的分类

粒度分: 行级锁、表级锁、页级锁

乐观锁、悲观锁(乐观锁咋实现:版本号机制 version=#{version})

类别:共享锁,排它锁

(问我间隙锁是啥,不道) Gap lock:间隙锁,锁定一个范围,不包括记录本身

八、事务的隔离机制

  • READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读

  • READ-COMMITTED(读取已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生

  • REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生

  • SERIALIZABLE(可串行化): 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读

MySQL如何实现REPEATABLE-READ(可重复读):MVCC(这个就说了下知道MVCC)

写题:单调栈结构

https://blog.csdn.net/weixin_40374341/article/details/100055210?utm_term=%E5%8D%95%E8%B0%83%E6%A0%88%E7%BB%93%E6%9E%84&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-2-100055210&spm=3001.4430

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐