2022秋招 Java开发工程师 面经汇总

149 阅读8分钟

爱奇艺提前批(30min)

  1. 进程和线程的区别?此线程与 Java 中的线程的对应关系?Java 中的线程会共享什么资源? 在 Java 线程的运行过程中,线程分配一个变量,这个变量分配在哪里?Java 线程共享的资源分配在那个内存区域里?

  2. 计算机网络中,断开连接的过程中两方发了什么消息,发了消息后两方进入到什么状态?断开状态前一步,主动关闭方和被动关闭方分别是一个什么状态?

  3. MySQL 索引在实际存储中是一个什么数据结构?非叶子结点存什么,叶子结点存什么?什么情况下聚族索引,什么情况下是非聚族索引?怎么避免回表操作?

  4. 数据库里的事物隔离机制?什么是幻读?

  5. Java 中的锁?区别?特性上的区别?

  6. 常用排序算法?手写快排?

拼多多提前批 (60min)

  1. 项目10min

  2. cpu 的组成部分,cpu 是如何工作的?

  3. 进程调度算法,目标是什么?

  4. http 2.0 ,http 1.x 和 http 1.0 区别?

  5. tcp 三次握手可以携带数据吗?为什么?

  6. 浏览器输入 url 到显示页面的整个过程

  7. NoSQL 和 MySQL 的优势,劣势,使用场景? MySQL 慢查询如何优化?索引类型有哪几种(应用层面)提示了主键索引。。。。 ?

  8. 多线程写 redis 如何保证线程安全?redis 事务时用来做什么的?

  9. 介绍缓存更新策略?缓存击穿如何预防?

  10. java 值传递和引用传递?什么东西作为形参时是引用传递?值传递的形参的副本实际存在哪里,堆还是栈?对象和数组他们的引用值存在哪里,实际内容存在哪里?

  11. 介绍下 Spring 中 DI 和 ioc ?如何获取 Spring 的上下文/容器?既然有BeanFactory,为什么还要 ApplicationContext ? 一般实现那个接口来方便的获取 ApplicationContext 中的所有 bean ?

  12. 编程题 leetcode 21

科大讯飞一面(60min)

  1. Java 面向对象特性?对应的特性在项目中的体现?
  2. Java 常见集合介绍?HashMap 底层实现原理?保证并发安全下使用什么?底层原理介绍?
  3. Java 中数组排序?介绍常用排序算法?对象数组怎么排序?
  4. Java 对象的生命周期?Java 的反射和应用场景?
  5. Java 垃圾回收算法介绍?
  6. Java 创建线程有哪几种方法?线程池的好处?线程池分哪几种?
  7. 怎么保证线程的并发安全?同步实现的原理? 并发包里的工具类介绍?
  8. jvm 调优?内存泄漏怎么解决?遇到死锁怎么排查解决?
  9. MySQL 集群搭建介绍?sql 调优介绍?索引分那几种类型?MySQL 事务的四个特点?隔离级别?MySQL 单表数据量太大时从哪几个方面进行优化?
  10. Redis 数据类型介绍?使用场景?项目中用到那些?Redis 为什么性能好?Redis 集群有那几种?多个模块使用Redis,如何防止键值冲突?
  11. 消息队列的特点?如何防止消息丢失?
  12. 介绍项目中的文件断点续传实现?
  13. 生成 Docker 镜像一般有哪几种方式?步骤是什么样的?
  14. Spring Cloud 和 Spring MVC 区别?
  15. Spring ioc aop 介绍?
  16. Spring Cloud 包含的开源组件介绍?
  17. MyBatis 怎么操作数据库?
  18. 设计一个缓存系统应该关注的点?分布式,性能,一致性,内存和速度的兼顾点
  19. 介绍项目中遇到的难点,分库分表平滑迁移等

网易互娱 一面 (60min)

  1. 在电脑上双击 .exe 执行程序,大致有哪些过程?
  2. 程序和进程的区别
  3. cpu 怎么执行一条指令或者字节码?
  4. 是否听说过超线程,有没有想过是怎么实现的?
  5. 介绍下虚拟内存
  6. 容器和 VM 的区别
  7. leetcode 19 口述代码
  8. leetcode 23 口述代码
  9. 介绍二叉查找树?现实中平衡二叉树为什么用的也很少?介绍一下 B+ 树?在 B+ 树中找一个值的过程? innodb 为什么用 B+ 树而不用二叉树?B+ 树找具体的子节点需要遍历每个节点中的每一个数据,他的时间复杂度更低体现在哪里?
  10. 深拷贝和浅拷贝的区别
  11. Byte 和 Byte 比较可以用 ”==“ 吗?Boolean 可以吗?
  12. HashMap 是有序的吗?举一个 hash 函数的例子? 什么是一个好的 hash 函数?
  13. 自旋锁和互斥锁的区别
  14. JVM 垃圾回收算法介绍?标记清除算法两阶段是否可以合并?标记的过程是什么?为什么要分新生代和老年代?
  15. 浏览器上输入一个 url 获取到数据的过程?介绍下路由转发的过程?一个域名可以对应多个 ip 吗?多个域名可以对应一个 ip 吗?tcp 握手为什么是三次?为什么要交换序号?
  16. 一台服务器所能接受的连接数由什么决定?
  17. 进入一个网站一般需要登录操作,服务器怎么知道用户登没登陆?介绍下 JWT?
  18. https 连接建立过程?介绍下中间人攻击?https 能否防范中间人攻击?
  19. 解释下什么是关系型数据库?和 nosql 有什么区别?
  20. 解释下 CAP 理论?举个 AP 系统的例子?
  21. MySQL 中 binlog, undolog, redolog 的区别
  22. redis 的使用场景?为什么性能好? MySQL 也缓存,也可以把数据都放内存,如果把 MySQL 也改成单线程的,是否性能也像 redis 那么好?

网易互娱 二面 (45min)

  1. 实习项目中用的 jdk 版本,是否看过 9 及之后的源码?
  2. 在一个 service 类里的方法加事务注解 ,这个方法被其他地方调用,哪些场景下事务会失效?内部方法调用的场景,怎么解决?
  3. MySQL 删除表指令,那一个最快?
  4. MySQL 隔离级别用过那个?可重复读能解决幻读问题吗?只是间隙锁就可以解决吗?介绍下 mvcc 怎么实现的,怎么解决幻读问题的?间隙锁锁的对象是什么?
  5. MySQL 哪些指令是快照读,哪些是当前读?既然 mvcc 和间隙锁可以解决幻读,串行化还有必要吗?
  6. MySQL 某张表 a,b,c 字段加联合索引,c=xx and b=xx and a=xx 是否走索引?a=xx 去掉还走吗?
  7. 有一张表,包含 id 和 parent_id,parent_id 记录父节点。给定 id ,查询该节点下的子孙节点,可以通过改变表结构,使用一条 sql 语句查出结果
  8. 介绍下 redis 的使用场景?介绍 redis 分布式部署方式?这两种部署方式有什么区别?
  9. 项目中 MQ 的使用场景?怎么保证消息的有序性,幂等性,不重复性?
  10. 微服务是否用过,有那些组件?Eurake 怎么保证高可用?服务间调用的负载均衡怎么做的?
  11. 聊个人优缺点,平时的学习方式,了解哪些前沿技术,offer情况,职业规划,反问

美团 优选物流 一面(50min)

  1. 自我介绍
  2. 编程题 剑指 Offer 58 - I. 翻转单词顺序
  3. 内存泄漏和内存溢出区别
  4. 什么是进程,什么是线程,什么是多线程?
  5. 怎么保证安全的使用多线程?
  6. 介绍下 java 里的锁和他们的区别?
  7. 什么是死锁,死锁的条件,怎么避免?
  8. MySQL 的锁机制有哪些?
  9. MySQL 的事务隔离级别有哪些?都解决哪些问题?脏读和幻读的区别?
  10. MySQL 索引的数据结构及优势?
  11. equals 和 hashcode 区别?
  12. wait 和 sleep 区别?
  13. 线程的生命周期
  14. 介绍下 JVM 内存模型?哪些对象被标记和清除?gc root 的对象有哪些?
  15. offer 情况,个人职业规划,反问

美团 优选物流 二面(50min)

  1. 自我介绍
  2. 编程题 leetcode 143
  3. 介绍下 CurrentHashMap 实现原理?为什么效率比 synchronized 修饰的 HashMap 效率高?
  4. 介绍下乐观锁
  5. 什么情况下会发生栈内存溢出?
  6. 介绍下 Java 虚拟机的内存模型
  7. 个人职业规划,反问

百度 一面(60min)

  1. 自我介绍

  2. 进程和线程的区别?举几个工作中常见的进程和线程的例子?

  3. 线上一个 java 项目 cpu 利用率特别高,怎么定位是哪个线程发生了问题?通过 jstack 能看到什么信息?能看到有哪些种类的 Java 线程?

  4. 七层负载,四层负载中的七层,四层说的是什么?(面试官提示:计算机网络中的七层和四层还记得吗?)

  5. 常见的负载均衡算法有哪些?

  6. cookie 和 session 的区别是什么?cookie 除了 k-v 还有哪些属性?cookie 是否一直留在客户端?这个过期时间是 cookie 的哪个属性?浏览器是怎么保护 cookie?

  7. 多线程死锁是个什么情况?

未完,待续。。。