2021年BATJ一线名企面经总结,阿里+腾讯+百度,18个技术栈全面解析!

前言

时间过得好快,2021年都过去几个月了,马上就到了金三银四的跳槽旺季,很多公司其实现在就开始招聘了,其中就不缺乏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( )算法出来,再尝试着优化一下。

总结

面试总结就先写到这里,大家觉得对自己有帮助的话不妨给小编点个赞,你的支持就是我创作的动力!另外由于文章篇幅原因,,答案和解析我已经帮大家整理成PDF文档了,具体内容如下:

下面是我自己总结的一些笔记和一些面试模拟视频以及技术栈教学的视频,具体内容如下:

以上资料以及教学视频和我自己总结的技术笔记和面试模拟视频都是无偿分享给大家的,只需要你动动手多多支持小编即可,需要以上资料的朋友们三连点赞后点击这里备注csdn,自行下载即可,希望大家拿到资料后多多学习,对照自己的技术栈,在金三银四里能拿到自己满意的offer!

猜你喜欢

转载自blog.csdn.net/weixin_47277170/article/details/113882060