前言

现在已经是2020年了,相信很多人都在准备面试,,如何拿到心仪的 Offer,进入梦寐以求的大厂,实现自己的职业理想,达到程序员的小康水平。

这篇文章主要介绍了刘哥一月份的几次面经,(一次性查缺补漏个够),(感谢刘哥的内容提供)

对于面试的那几家公司暂不公布,望理解。

第一家(Zookeeper+微服务+消息中间件+高并发架构设计)

一面

  • JVM数据存储模型,新生代、年老代的构造?
  • java GC算法,什么时候会触发minor gc,什么时候会触发full gc?
  • GC 可达性分析中哪些算是GC ROOT?
  • 你熟悉的JVM调优参数,使用过哪些调优工具?
  • Java 有什么锁类型
  • 描述下线程池的处理流程?
  • 类加载机制,一个类加载到虚拟机中一共有几个步骤,这些步骤的顺序哪些是固定的,哪些是不固定的,为什么不固定?
  • hashmap是线程不安全的,concurrenthashmap是线程安全的,怎么实现的线程安全?
  • volatile关键字解决了什么问题,实现原理是什么?
  • 并发容器有哪些,并发容器和同步容器的区别

二面

  • 在工作中,SQL语句的优化和注意的事项
  • 哪些库或者框架用到NIO
  • Spring 都有哪几种注入方式,什么情况下用哪种,ioc实现原理
  • 如何定位一个慢查询,一个服务有多条SQL你怎么快速定位
  • 聚集索引和非聚集索引知道吗?什么情况用聚集索引什么情况用非聚集索引
  • Nosql引擎用的什么存储结构,关系型数据库和NoSQL各自的优劣点是什么,如何技术选型?
  • 微服务架构下,如果有一个订单系统,一个库存系统,怎么保证事务?
  • 分布式一致性协议raft,paxos 了解吗
  • Zookeeper中的ZAB协议,选主算法

三面

  • 自我介绍
  • 参与的并发项目,从设计到部署,按照流程讲一遍。
  • 项目相关你用过redis,用在什么场景,怎么使用的?
  • mysql同步机制原理,有哪几种同步方法
  • 数据库主从同步如何实现,事务如何实现
  • 谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。
  • 阿里系中间件metaQ及原理与现有的kafka有什么异同
  • 在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点?
  • 为什么选择换公司?
  • 三年到五年的职业规划?
  • 你有想问我的

第二家(幻影读+分段锁+Spring Cloud+秒杀)

一面

  • 简短自我介绍
  • 事务的ACID,其中把事务的隔离性详细解释一遍
  • 脏读、幻影读、不可重复读
  • 红黑树、二叉树的算法
  • 平常用到哪些集合类?ArrayList和LinkedList区别?HashMap内部数据结构?ConcurrentHashMap分段锁?
  • jdk1.8中,对hashMap和concurrentHashMap做了哪些优化
  • 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值
  • synchronized 和 ReentranLock的区别?
  • ThreadLocal?应用场景?
  • Java GC机制?GC Roots有哪些?
  • MySQL行锁是否会有死锁的情况?

二面

  • 乐观锁和悲观锁了解吗?JDK中涉及到乐观锁和悲观锁的内容?
  • Nginx负载均衡策略?
  • Nginx和其他负载均衡框架对比过吗?
  • Redis是单线程?
  • Redis高并发快的原因?
  • 如何利用Redis处理热点数据
  • 谈谈Redis哨兵、复制、集群
  • 工作中技术优化过哪些?JVM、MySQL、代码等都谈谈

三面

  • Spring Cloud用到什么东西?如何实现负载均衡?服务挂了注册中心怎么判断?
  • 网络编程nio和netty相关,netty的线程模型,零拷贝实现
  • 分布式锁的实现你知道的有哪些?具体详细谈一种实现方式
  • 高并发的应用场景,技术需要涉及到哪些?怎样来架构设计?
  • 接着高并发的问题,谈到了秒杀等的技术应用:kafka、redis、mycat等
  • 最后谈谈你参与过的项目,技术含量比较高的,相关的架构设计以及你负责哪些核心编码

第三家

一面(50分钟)

  • hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
  • Linux的共享内存如何实现,大概说了一下。
  • socket网络编程,说一下TCP的三次握手和四次挥手
  • 同步IO和异步IO的区别?
  • Java GC机制?GC Roots有哪些?
  • 红黑树讲一下,五个特性,插入删除操作,时间复杂度?
  • 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少

二面(40分钟)

  • 自我介绍,主要讲讲做了什么和擅长什么
  • 设计模式了解哪些?
  • AtomicInteger怎么实现原子修改的?
  • ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用- –
  • HashMap,什么情况用ConcurrentHashMap?
  • redis数据结构?
  • redis数据淘汰机制?

三面(约1个小时)

  • mysql实现事务的原理(MVCC)
  • MySQL数据主从同步是如何实现的?
  • MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
  • 如果Redis有1亿个key,使用keys命令是否会影响线上服务?
  • Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么
  • 遇到最大困难是什么?怎么克服?
  • 未来的规划是什么?
  • 你想问我什么?

第四家 (事务+集群+秒杀架构)

一面

  • 常见集合类的区别和适用场景
  • 并发容器了解哪些?
  • 如何判断链表是否有环
  • concurrentHashMap如何实现
  • 集群服务器 如何application 共享
  • JAVA网络编程中:BIO、NIO、AIO的区别和联系
  • jvm内存模型jmm 知道的全讲讲
  • JAVA的垃圾回收,标记算法和复制算法的区别,用在什么场合?
  • http和https的区别,http1.x和http2.0的区别,SSL和TSL之间的区别
  • GC、G1和ZGC的区别
  • B+树和B树的区别,和红黑树的区别
  • 内存泄漏与内存溢出的区别
  • session的生命周期是多久
  • 关于Mina框架了解多少?(因为我在项目里用到了Mina,所以提到了这个部分)

二面

  • java cas原理
  • JAVA线程池有哪些参数,如果自己设计一个线程池要考虑哪些问题?
  • Java的lock的底层实现?
  • mysql数据库默认存储引擎,有什么优点
  • MySQL的事务隔离级别,分别解决什么问题。
  • 四个表 记录成绩,每个大约十万条记录,如何找到成绩最好的同学
  • 常见的负载均衡算法有哪些
  • 如果Redis有1亿个key,使用keys命令是否会影响线上服务
  • Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么

三面

  • 请画一个完整大型网站的分布式服务器集群部署图
  • 多个RPC请求进来,服务器怎么处理并发呢
  • 讲一下Redis的哨兵机制
  • 数据库分库分表一般数据量多大才需要?
  • 如何保证数据库与redis缓存一致的
  • 项目中消息队列怎么用的?使用哪些具体业务场景?
  • JVM相关的分析工具有使用过哪些?具体的性能调优步骤吗?
  • MySQL的慢sql优化一般如何来做?除此外还有什么方法优化?
  • 线上的服务器监控指标,你认为哪些指标是最需要关注的?为什么?
  • 如何做压测,抗压手段
  • 秒杀模块怎么设计的

HR面

  • 自我介绍
  • 你怎么评价你之前的3轮面试
  • 你怎么看待你自己,你最大的核心竞争力是什么
  • 未来自己的职业规划
  • 对阿里技术氛围有什么样的理解,用过哪些阿里的开源库
  • 期望的薪资是多少
  • 最后,你有什么想了解的

面试题答案

好了各位, 本文到这里就结束了! 关于面试题答案为什么没有直接写出来,我想说的是把面试题写下来会显得文章很长,(现在已经很长了…)这样就影响文章的可读性。

本文分享给需要面试刷题的朋友,也祝愿大家顺利拿到自己想要的offer,这份资料主要包含了Java基础,数据结构,jvm,多线程等等,由于篇幅有限,以下只展示小部分面试题,有需要完整版的朋友可以点一点链接跳转领取,链接:戳这里免费下载,获取码:CSDN

2020年最新最全的Java面试经历整理(一次性查缺补漏个够)相关推荐

  1. 2022最新最全的Java面试八股文小抄开源!带你摸熟 20+ 互联网公司面试考点

    2022真是多变的一年,相对往年我们会发现今年猎头电话少了,大部分企业年终奖缩水,加薪幅度也不如往年,选择好 offer 就要趁早,现在开始准备吧,刷一波 Java 面试题,能回答 70%就去 BAT ...

  2. 2020年最新最全的前端面试题整理----原生JS篇

    前言 原生JS篇 JS是一种什么样的语言? 解释性脚本语言,代码不进行预编译 主要用来向HTML页面添加交互行为 可以直接嵌入HTML页面,但单独写成JS文件有利于结构和行为的分离 跨平台性,在绝大多 ...

  3. 【面试】个人宝典 查缺补漏

    CSS 1. flex:auto; flex-start, flex-end; align-self: strech; 这次通过MDN仔细看了flex布局,才明白在flex布局中有很重要的概念是主轴和 ...

  4. 2021年最新最全面的Java视频教程!!!

    2021年最新最全面的Java视频教程!!! 这套资料是楼主精心准备和搜集的Java学习视频,也希望分享给大家一起学习Java~ 第1阶企业级开发-Java基础 本套视频一共24天 本套视频一共30天 ...

  5. 【Java开发】2021最新最全的Java开发工程师学习路线

    2021最新最全的Java开发学习路线 阶段一 (夯实基础) 一.Java基础语法 二.Java面向对象编程 三.Java核心类库 四.XML与JSON 五.算法与数据结构 六.数据库 七.JDBC技 ...

  6. 【最新最全】Java微服务实战项目【尚医疗】_智慧医疗管理项目_基于若依框架快速开发

    尚医疗是专门为各大医院.门诊提供的一款医疗管理平台.系统包含:系统管理.药品进销存管理.看病就诊.收费管理.检查管理.数据统计等核心模块.通过尚医疗系统可以快速.方便的管理病人从挂号到门诊结束所涉及到 ...

  7. 美团面试都面不过?我又不是去送外卖的!美团Java面试经历总结【一面、二面、三面】

    美团面试都面不过?我又不是去送外卖的!美团Java面试经历总结[一面.二面.三面]这篇文章主要介绍了美团Java面试经历,总结分析了美团java三轮面试中所遇到的各种问题,对于参与java面试有一定参 ...

  8. JAVA核心,200例,查缺补漏

    适用于想要查缺补漏的人:本已经掌握的技术,但是不知道如何表达的人:不断完善技自己,顺带梳理下答案. 主要包括以下模块:Java基础.容器.多线程.反射.对象拷贝.Java Web模块,异常.网络.设计 ...

  9. java基础的查缺补漏

    打好基础,加油加油加油! 文章目录 前言 day1(6.16test,7.2) day2(7.3) java运行机制 java关键字 变量定义 常量定义 7.4 7.6 总结 前言 为了方便自己回顾知 ...

最新文章

  1. Android Json解析与总结
  2. pd调节规律_pid算法原理及调整规律解析
  3. lc滤波电路电感电容值选择_滤波电容如何选择
  4. AP模块NOTE修改API
  5. BAT与华为职级薪资股权大揭秘 网友看完后很酸表示“雨女无瓜”
  6. 构建之法阅读笔记(1)
  7. 面向对象的基本概念(二)--UML.类之间的关系
  8. ~~字符串哈希(数据结构)(附模板题AcWing 841 字符串哈希)
  9. 计算机页面高度怎么设置方法,win10系统调节任务栏高度的设置技巧
  10. Git merge分支到master
  11. Originpro使用技巧
  12. 双鉴探测器是哪两种探测方式结合_报警的基本知识
  13. 常见工具识别集锦---Windows应急响应工具
  14. C++软件工程师的发展前景如何
  15. Apple iPhone
  16. 从千播大战到不足百家,倒闭潮之下直播创业何去何从?
  17. 创业布局移动端App,应该先做Android还是iOS?
  18. SQL中的查询语句总结(实例)
  19. 没有修复计算机,电脑没有声音怎么修复?一键修复电脑没声音的解决办法 (全文)...
  20. .config文件和Menuconfig以及Makefile参考学习

热门文章

  1. Houdini Bend Mountain
  2. JCMSuite应用—垂直腔面发射激光器(VCSEL)
  3. LeetCode刷题之二分
  4. 隐藏标签页 chrome_如何在Google Chrome浏览器中折叠和隐藏标签组
  5. 一篇五分生信临床模型预测文章代码复现——Figure1 差异表达基因及预后基因筛选——下载数据(一)
  6. 服务器设备管理接口协议,VIP专享 | GM/T 0088-2020 云服务器密码机管理接口规范
  7. linux自动切换核显和独显,在Ubuntu 18.04上切换独显/集显
  8. vim 向前,向后查找
  9. 使用webdav的方法
  10. 简书python估算遗传相关系数_[转载]群体遗传学奠基者之“费希尔”(转)