2021年阿里Java高级面试题及答案,看完这篇彻底明白了

本篇文章主要内容

  • 数据缓存

  • 为何要使用缓存

  • 哪类数据适合缓存

  • 缓存的利与弊

  • 如何保证缓存和数据库一致性

  • 不更新缓存,而是删除缓存

  • 先操作缓存,还是先操作数据库

  • 非要保证数据库和缓存数据强一致该怎么办

  • 缓存和数据库一致性实战

  • 实战:先删除缓存,再更新数据库

  • 实战:先更新数据库,再删缓存

  • 实战:缓存延时双删

  • 实战:删除缓存重试机制

  • 实战:读取binlog异步删除缓存

字节跳动一面:

  • 自我介绍,主要讲讲做了什么和擅长什么
  • 看你项目做Spring比较多, 问一下Spring相关的东西, IoC是什么概念?
  • Bean的默认作用范围是什么?其他的作用范围?
  • 索引是什么概念有什么作用? MySQL里主要有哪些索弓|结构?哈希索弓和B+树索引比较?
  • 平常用线程主要是怎么写的,会用一一些线程框架吗? (没有用框架) Java线程池的概念?线程池有哪
  • 些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
  • ConcurrentHashMap讲一讲?
  • Java GC机制? GC Roots有哪些?
  • Java bin包下面的工具用过哪些?
  • 算法题:红蓝两种球,总共N个,N>2, 排列组合,连续3个颜色一样是非法的,求合法的排列数量

字节跳动二面:

  • 自我介绍
  • 项目询问:问了简历上写得最早的项目的情况,项目QPS ?数据来源和传输形式?
  • 发起一个HTTP请求的过程?刚才提到DNS , DNS用的什么传输层协议?为什么说用的是TCP协议?
  • (我说其实我不清楚是用的什么协议)他说那让你设计的话用什么协议比较合适? (思考了一下,说
  • 觉得UDP比较合适,比较轻量不占用服务器带宽,查了一下TCP和UDP都有 ,用在不同情境下)
  • TCP协议的三次握手和四次挥手过程?
  • 同步IO和异步IO的区别?
  • 操作系统的blablabla? (懵)算了,直接问你好了, select和epoll ?
  • 线程如何实现同步?
  • MySQL了解到什么程度? binLog知道吗?
  • 描述一下堆排的过程?建堆的时间复杂度?最大堆中求前K个最大值的时间复杂度?

字节跳动三面:

  • 自我介绍。
  • ConcurrentHashMap在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用
  • HashMap ,什么情况用ConcurrentHashMap ?
  • 加锁有什么机制?
  • ThreadLocal ?应用场景?
  • Web容器用的什么?你项目里涉及了SSM框架,一个请求到Tomcat容器了,怎么到SSM代码中去?
  • 网络协议了解吗?
  • 项目介绍一 下是做什么的?讲一讲学到什么东西?
  • 平常怎么学习?
  • 大学到现在遇到的最大困难是什么?怎么克服?事情太多的时候会有压力吗?
  • 未来的规划?
  • 目前有offer吗?
  • 设计一个系统:用来促成交易,有多种商品,有购买方和卖出方,促成买家价格大于等于卖出价格的交易。

更多BATJ高级Java必考题与答案

2021年阿里Java高级面试题及答案,看完这篇彻底明白了_第1张图片

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

关注+点赞后,点击这里获取完整面试题(含答案)!

2021年阿里Java高级面试题及答案,看完这篇彻底明白了_第2张图片

2021年阿里Java高级面试题及答案,看完这篇彻底明白了_第3张图片

2021年阿里Java高级面试题及答案,看完这篇彻底明白了_第4张图片

更多笔记分享

(img-Kq5hGR6b-1621216547389)]

[外链图片转存中…(img-U50qMdo6-1621216547391)]

更多笔记分享

2021年阿里Java高级面试题及答案,看完这篇彻底明白了_第5张图片

你可能感兴趣的:(程序员,java,后端,面试)