闪电快车Java一面【凉】

面试官不错

自我介绍

线程池

  • 创建线程池的方法
  • 七大参数
  • 原理
  • IO密集型 和 CPU密集型 的区别

MySQL乐观锁和悲观锁的实现

  • 是什么
  • 共享锁和排它锁
  • 记录锁、间隙锁、临键锁【顺便提了提ACID,解决幻读】
  • MySQL怎么添加锁?具体操作【懵了、想了想 lock in 、for update】

微服务

  • 这里得感谢一下阿里,回去复盘了,从公司微服务架构演变讲到分布式事务的四个解决方法【二次提交、TCC、MQ + 本地消息表】,吹了吹别的【不过,被面试官看出来是背的了,面试官还给我具体说了说真实场景的应用(尴尬)】

死锁问题

  • 死锁的四大条件
  • 避免死锁
    • 加锁【扯到我自己的分布式锁】
    • 加过期时间
    • 银行家算法

关于索引的一些问题

  • 有一个商品的名称和种类,怎么建立索引【离散度】
  • like走索引不【%最右走索引】
  • 三大范式
  • 说了说 Myisam 和 innodb 一些特性【扯建立文件不同、锁不同、事务、索引啥的】

Redis

  • 基本数据类型【想说跳表的原理,没给机会】
  • 持久化【RDB 和 AOF】
  • 我们修改完数据库的热点信息后,Redis怎么进行操作?
    • 第一种思路:修改的时候,去 Redis 中,直接进行修改
    • 第二种思路:修改的时候,去 Redis 中进行标记,等到用时,再进行修改
    • 说了说,自己在生产上还真没有碰见这样的问题,面试官有没有兴趣给我讲解一下?
    • 面试官:当我们数据库的热点数据进行修改时,直接删除掉 Redis 缓存就可以了,查的时候去数据库查,重新增添缓存
    • 这时候,我感觉表现的机会来了,说:如果我们删掉索引的话,那万一高并发全部打在数据库上,可能导致数据库的瘫痪嘛?
    • 后面围绕这双11的秒杀和其他的场景扯了扯
  • Redis是单线程的还是多线程的?为什么能搞定10W缓存?【回去复盘】
    • 我印象看过是个单线程,不过忘了在哪了
    • 说了说,事务机制和主从复制机制

你的优点、缺点

反问:公司技术栈、对我的以后学技术的建议

  • 校招生看看分布式和微服务,懂个基础就行,没有经历过大型的项目经历,没有办法体会到那种技术

这个挂了我有点想不太明白【还是太菜了】

#面经##校招##闪电快车##Java工程师#
全部评论
redis是单进程多线程的(后来的版本,以前只有一个master线程的,后来版本改了)可能理解的也不是特别标准
点赞 回复 分享
发布于 2020-12-26 00:17
我靠,竟然挂了
点赞 回复 分享
发布于 2020-12-28 10:59

相关推荐

不愿透露姓名的神秘牛友
11-20 16:37
某量化 量化开发 实习400/天 本科985
点赞 评论 收藏
分享
1 30 评论
分享
牛客网
牛客企业服务