刚刚面试完,没啥心情学习了。周末还有俩笔试,一个面试要搞[牛泪][牛泪][牛泪]。写个面经攒攒人品,希望OC🥰🥰。一面(8.22)还没来得及复盘,等我下周摸鱼的时候复盘一下写一下。算法题:根据二叉树的前序和中序顺序构建二叉树,并且求出这个二叉树的右视图。            力扣题号:105 + 119,递归 + 层序 秒了。问项目登录的时候,写redis缓存失败了怎么处理了解单点登录吗(SSO)可以下来了解一下。其实就是解决多个模块的重复登录问题。集群环境下如何保证服务器内存信息的一致性。(跟缓存数据库一样,定时刷新,给一个过期时间)防超卖在Java代码层面怎么实现的。(使用Lua脚本来保证 判断库存 和 扣减Redis库存 的原子性)怎么提高MySQL库存扣减的效率。(加索引)八股:如何避免使用 Redis 导致的数据不一致。(旁路缓存模式,删缓存,改数据库)了解有哪些加密算法,分为哪些类?(当时脑抽了没想起来,现在想来应该是对称加密,非对称加密,哈希加密三类)MySQL事务是用来干嘛的呢?(保证ACID里面的A,原子性)事务的隔离级别有哪些?(RU,RC,RR,可串行化)mysql中有哪些锁?(全局锁,表锁,行锁;表锁分为表锁和意向锁,行锁分为记录锁,间隙锁,临键锁)可重复读级别下能防止幻读吗?(按SQL定义的隔离级别的定义,可重复读是不能解决幻读的;但是Innodb引擎通过临键锁 (Next-Key Lock) 和  MVCC 机制来解决幻读,一个应对当前读,一个应对快照读。)MySQL的索引用的什么数据结构?有什么区别?有什么优点?(经典八股)分析一下索引失效的场景。(联合索引的最左匹配原则,隐式的类型转换)MySQL的MVCC多版本控制了解吗?(使用 隐藏字段、Read View、undo log 来实现的快照读多版本控制)undolog 和 redolog 详细讲一讲(undo log 可以实现 MVCC,同时也是事务回退的保证;redolog主要是一个崩溃的恢复以及bufferpool 的刷盘)了解 SQL 注入吗?一般用什么来防止?(SQL拼接的时候自己拼接条件;仿照Mybatis框架的操作,先生成语句再参数化输出)Java的HashMap和TreeMap有什么区别?(TreeMap 主要是实现了Map节点的有序储存,使用树状结构来保证)HashMap 的哈希冲突是怎么解决的?(拉链法 + 红黑树)AVL 和 红黑树的区别,为什么不用AVL树?(AVL 主要适用于查找密集型,红黑树使用插入密集型)HashMap 高并发下会出现什么问题?(成环,数据丢失)ConCurrentHashMap 和 HashMap 的区别?(源码自己去看)Java 线程池了解吗?(两种创建方式+核心参数)反问MySQL题:可重复读下,有两个操作,一个是Insert,一个是delete,判断一下加锁的情况?当时没有做出来,后面学了一下,应该是看两个操作的前后情况:如果是先 Insert ,那么应该在Insert的前后两条数据行之间加上间隙锁,然后看 delete 的值,如果 delete 的值正好被这个间隙锁锁住了,那么delete就等待,不然就执行。先 delete 可以同理分析。例如 数据 1,2,3  我们delete 3 再 insert 5,怎么加锁的?delete 3 会给 3 加上一个记录锁,然后 insert 5,会加一个(3,正无穷)的临键锁。不冲突,所以可以并发执行二面(8.25)开始就问项目,场景题特别多,问了可能整个面试时间的一半  eg. 防超卖的解决中间夹杂了一些八股,例如 B 树 和 B+ 树的区别和优点Redis 为什么这么快,能支持1w 左右的 QPSThreadLocal 了解吗?底层原理,使用 ThreadLocal 会造成什么问题,会导致内存泄漏吗?然后问了些我的性格方面的东西:优缺点 + 举一两个例子 (话说这个不应该是 HR 面问的嘛)算法:两个线程循环打印 123 ,456,789 (GG,之前还在B站看过,结果到自己写的时候就蒙蔽了)反问其实没啥底,感觉一面表现不错,二面感觉算法题没做出很伤。😣😣😣😣😣😣😣
点赞 14
评论 10
全部评论

相关推荐

07-17 11:50
门头沟学院 Java
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务