2022年BATJ一线名企面经总结,阿里+腾讯+百度,18个技术栈全面解析!
前言
时间过得好快,2022年都过去几个月了,马上就到了金三银四的跳槽旺季,很多公司其实现在就开始招聘了,其中就不缺乏BATJ这样的一线互联网公司!相信大家对这些企业并不陌生,但是总是对面试难度望而却之!今天小编就从粉丝那里拿到了2021年最新的一线名企面试真包含阿里,百度,网易云这些公司,由于时间关系答案小编也都为大家准备好了,大家可以一边做题一边对照自己的技术,满满的干货都给大家放在下面了!
阿里巴巴
一面:
- 自我介绍一下
- 介绍一下参与的项目
- spring的IOC底层实现原理
- HashMap的底层原理
- GC策略
- JVM内存模型
- MySQL索引结构
- 事务的四大特性
- 事务隔离级别
- JVM分配策略(eden、survival区)
- 类加载的双亲委托机制了解么
- 线程池的一些参数问题以及底层原理AQS
- 两个线程轮流打印数字1-100(算法coding)
- 链表如何快速找到中间节点(算法coding)
二面:
- 自我介绍;
- 介绍项目;
- KVM和XEN虚拟化的区别
- 如何用JAVA生成永远的ID:UUID(Universally Unique Identifier)
- 树的遍历,并非二叉树的遍历
- 堆排序的问题
- 多线程轮流执行用什么锁??
- AOP的底层原理(动态代理)
- Object类的方法
- 循环依赖如何解决
- 快速排序原理
- iptable实现反向代理
- OVS流表创建
- Docker的四种网络类型
- Docker的命名空间有哪些
- 为何要用Vxlan?
- 什么时候会发生OOM
- JVM的内存结构
- GC回收策略
- 乐观锁和悲观锁
三面
1.自我介绍
2.项目
3.项目中遇到的难点
4.自己平时如何学习的
5.AOP的底层实现??源码级
6.职业规划,未来的发展
7.还有什么问题?
四面(交叉面)
- 如何判断两个集合的对象是否相等;
- Java中的深拷贝和浅拷贝;
- 反射的原理以及应用场景;
- Java序列化的相关问题,被什么样的变量修饰不会被序列化。(transient,被该变量修饰不会持久化也不会被序列化)
- Java中的全局变量如何设置;
- 如何理解JAVA中的一次编译处处运行?
- threadlocal内存泄露问题如何解决
- 如何优化Hashtable?
hr面
- 问题就很常见了,唠嗑
腾讯
一面
- 自我介绍
- 项目所用开源技术以及框架数据库介绍
- Mysql索引引擎
- Mysql索引底层实现结构,为什么不用hashmap( 不适合范围搜索)
- 有哪一些索引
- 主键索引和普通索引的区别
- 数据库隔离级别
- ArrayList的底层实现,为什么查询快,增删慢
- 算法:字符串反转
- 算法:输出链表的倒数第k个数(两种方法:集合|双指针)
- 思考题,如何设计求一个数的n次开方(二分法)
二面
- MVCC机制
- LRU算法
- 两个线程轮流打印1A 2B 3C(三种方法)
- 其他实在是记不清楚了...
三面
- 自我介绍
- 项目介绍
- 自己负责的任务
- 虚拟机跨主机通信
- 一个算法题,手撕一下,就是一个小车给定坐标位置,和当前面朝方向(NSWE),再输入前进转向情况和前进步数,输出小车的坐标位置和面朝方向。
- 职业规划
hr面
- 很轻松的聊天,交流工作地点等信息
百度
一面
- 自我介绍
- Java基础:类如何被加载(整个类加载到new一个对象的过程说了一遍)
- 数据库索引结构
- ThreadLocal
- 创建线程的方式有哪些
- 详细说一下线程池的参数有哪些
- 说一下JAVA 8 的新特性(lambda、Stream等)
- 说一下java设计模式中的开闭原则
- 系统什么时候需要重构,如何重构
- 从url到返回一个页面 走了哪些过程(从DNS域名解析、TCP、Http、再到后端的mvc架构都说了一遍)
- 多线程如何解决并发问题(锁 以及原子操作类(底层是CAS,谈到了aba问题以及解决方法))
- 为什么要用多线程(提高访问效率和速度)
- 微服务了解么
- AQS队列同步器以及AQS内部类中的Condaition中的等待队列
- 反问
二面
- 自我介绍
- 说一下你的实习项目
- 你的实习项目中主要用到的中间件有哪些
- 为什么会用到消息队列,是用来干什么的
- 说一下TCP
- TCP的拥塞控制
- 操作系统中的中断、以及虚拟内存
- currentHashMap的底层原理知道么,具体的内存结构是怎样的?
- JUC下面的locks和synchronized区别是哪些?locks下面的AQS
- 重入锁了解么?说一下作用和原理
- SpringBoot的启动过程
- 职业规划
三面
- 三面相对轻松,主要是交流了一些对业务的看法等,面试官人非常nice!
hr面
- 无hr面,直接发的offer
网抑云
一面
- 自我介绍
- 项目介绍
- 线程池相关参数
- 线程池拒绝策略
- 线程池阻塞队列
- HSF原理
- AOP底层原理,几种方式
- coding 快排+改进+堆排
- QPS高了如何处理,开放性的问题
- 反问
二面
- 自我介绍
- 项目介绍
- 难点介绍
- 内存文件映射
- Java IO读取文件的底层过程
- HSF的重要组件有哪些
- AQS了解么?(从AQS底层到重入锁讲了一堆)
- 如何学习的
- 个人发展规划
- 反问
三面(加面)
- 这里主要是问了一些对业务的理解,和对自己职业发展的认识
hr面
- 还是老样子...
猿辅导
一面
- 自我介绍
- 项目介绍
- Docker虚拟化和全虚拟化的区别
- 什么时候用全虚拟化什么时候用半虚拟化
- .DNS的运行过程(本地缓存-本地服务器-根服务器-顶级域名服务器)
- IP地址有哪些分类:A、B、C三类,为什么分类
- 常用的特殊IP有哪些(127.0.0.1 192.168.0.1)
- coding1: 链表排序,不能只交换值,要换节点
- coding2:判断一棵树是不是平衡二叉树
- coding3: 判断一棵树是不是二叉搜索树BST
二面
- 自我介绍
- 项目介绍
- 学校项目介绍
- 实习项目介绍
- 说一下AOP的底层原理
- 说一下timer定时器的时间原理
- 说一下TCP和UDP的区别,抓细节
- UDP可靠传输的实现说一下
- coding 两个有环链表,判断是否相交
三面
记不太清楚了,只记得算法题是手写一个split( )算法出来,再尝试着优化一下。
标签:AQS,18,面经,BATJ,如何,线程,原理,自我介绍,底层 From: https://www.cnblogs.com/go1166/p/16759755.html