金三银四,如何远程面试拿下大厂offer?(附大厂面经+面试宝典)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: “找工作 3 个多月了,还没有遇到合适的,坐标杭州。”“坐标北京,2 年工作经验,裸辞 1 个月了,Java/Python 方向都在找,投的简历都石沉大海了。”“金三银四找的全是 996 的,双休只有外企和非互联网行业。”“去年冬天被裁员的,今年到现在还没找着像样的工作。”“投了半个多月简历,一个面试机会都没有,送达,已读。”

前言

“找工作 3 个多月了,还没有遇到合适的,坐标杭州。”“坐标北京,2 年工作经验,裸辞 1 个月了,Java/Python 方向都在找,投的简历都石沉大海了。”“金三银四找的全是 996 的,双休只有外企和非互联网行业。”“去年冬天被裁员的,今年到现在还没找着像样的工作。”“投了半个多月简历,一个面试机会都没有,送达,已读。”

在过去得2019里,这是我在互联网里听过最多的说辞,对于程序员找工作,行情似乎并不那么乐观,在这群人中,,不乏多年工作经验的资深程序员,也有入行不久的新人程序员。今年的2020年开端,也并不完美,疫情之下,金三银四也将受到影响,那么今年的金三银四春招,“远程面试”将会成为今年面试季的关键词,那么我们又该何去何从?如何通过远程面试来拿下心仪的offer 呢?——提前做好准备。

借鉴经验和刷题是面试大厂必不可少的一道步骤,以下分享大厂面试经验与整理出来的Java核心知识宝典,大厂分别是阿里、字节跳动和美团,希望能够给你们带来一些帮助。

另外,由于文章篇幅有限,大厂面试题的答案及详解,可以点击此处来获取就可以了!

阿里面试经验分享(电话面)

一面(电话,61 分 47 秒)

  • 自我介绍
  • 项目来历
  • MySQL 和 MongoDB 的区别
  • 负载均衡的实现,有没有使用过nginx?
  • 为什么数据库使用索引查询速度会那么快,是怎样实现的?
  • 除了mysql这种关系型数据库外,还有哪些数据库?
  • TCP和UDP的区别?
  • 一次HTTP的完整请求过程(从网络协议的层面来阐述)?
  • 面向对象语言的特点?
  • hashmap和hashtable的区别?
  • JVM的内存模型,回收机制
  • 老板有 2000 元给我和同学分钱,首先由我提出分钱方案。如果同学不同意,则总额变为 1000 元,并由同学提出分钱方案。如果这时我不同意,则俩人各拿 100 元。请问一开始我应该怎么给出分钱方案?
  • 假设有一个线程在取队列中的消息,怎么停止这个线程?
  • 读过哪些源码?
  • 项目中遇到过什么难题
  • 印象深刻的几次学习经历
  • 有什么问题想问的?

二面(电话,82 分 33 秒)

  • springboot或者spring的加载流程
  • 对IOC和AOP的理解
  • jdk和cglib实现的AOP实际上会在内存生成动态代理对象,还有什么其他办法实现AOP?经提示答出AspectJ以及实现原理
  • Spring中的对象的作用域
  • Singleton对象引用Prototype会发生什么
  • 项目中怎样使用微服务?
  • 两个服务之间调用的流程
  • rpc与http的区别
  • 设计rpc协议需要注意什么
  • 项目中如何使用kafka
  • 消息队列的使用场景
  • kafka如何保证消息投递的可靠性
  • 聊聊jvm,内存分布,垃圾回收
  • 创建类的流程,类加载流程
  • 了解我做过的项目的复杂度

三面(电话,30 分 57 秒)

  • 问项目,根据项目问问题
  • 用过数据库索引吗?介绍如何使用,何时使用?
  • B树、B+树、红黑树数据库分页查询,如何分页,怎么实现?
  • 四种隔离级别,虚读和幻读什么意思发生在哪?
  • 使用的MySQL版本,和之前版本的区别?
  • 1.7和1.8的JVM有哪些不同?
  • 垃圾回收算法,CMS垃圾回收器简单介绍
  • ConcurrentHashMap的size()函数1.7和1.8的不同,或者介绍一下如果是你如何设计?
  • 排序算法,介绍一下快速排序,快速排序时间复杂度,是不是稳定排序,介绍几种你所知道的稳定排序算法
  • UDP,TCP,HTTP介绍一下,OSI七层模型
  • Redis支持的数据结构

HR面(电话,14 分 47 秒)

  • 为什么来阿里?
  • 有什么优势能让你来我们部门?
  • 业余有什么爱好?
  • 解决难题的经历?
  • 遇到过什么挫折?
  • 选择上海还是杭州?

字节跳动面试经验(一面电话面,二面视频面,三面、HR面现场面)

字节跳动一面(电话面,40 分 34 秒)

  • 自我介绍
  • 手写代码:有序链表合并
  • 聊聊项目 怎么个秒杀法
  • 计算过qps吗 qps是什么
  • 场景题:设计表结构 怎么实现用户量大的情况下快速查询用户的粉丝数/关注数?
  • 聊聊IOC
  • IOC加载过程
  • wait和sleep的区别
  • synchronized底层原理 是可重入锁吗?
  • CAS原理
  • 怎么解决ABA问题?
  • HashMap数据结构 线程安全吗?
  • 举个例子HashMap怎么线程不安全?
  • 聊聊B树和B+树 数据结构是什么 查询复杂度是多少?

字节跳动二面(视频面,37 分 46 秒)

  • 场景1:硬盘1T,内存2G 有很多数据id, 有重复的id 怎么找到重复次数最多的Top10
  • 场景2:网页中有一个用户输入框,输入完文本后会拿到一个url,然后关闭页面。
    用户下次再进入页面时根据上次的url可以看到上次输入的文本 怎么实现这个功能,把你能想到的说出来
  • 数据库索引怎么建立,把你的认识说出来,后来我引到了聚簇索引,索引覆盖
  • 解释什么是索引覆盖?
  • 数据库隔离级别有哪些?
  • 举个不可重复读的例子
  • 除了设置数据库隔离级别,还有什么方法可以解决不可重复读 ?(后面提示说这个有个专有的名词)
  • 讲讲滑动窗口的过程 滑动窗口在哪里用到?
  • 手写代码:有序链表合并的升级版,合并n多和有序链表,并计算时间复杂度

字节跳动三面(现场面,53分21秒)

  • 你如何理解后端开发
  • 有哪些后端开发经验,做了什么?
  • 介绍HashMap ,与TreeMap区别
  • 用HashMap实现一个有过期功能的缓存,怎么实现?
  • 如果需要多个线程,那怎么保证线程安全?
  • 如果把数据都放进Map ,会占用多大内存?
  • 平时怎么学习新知识?
  • 最近看了什么书?
  • 对于你的商城项目,如果对于同一个分类有多个卖家,如何设计数据表?
  • 对于高并发的系统,如何设计架构才能避免瞬间数据库收到瞬间高流量的冲击?
  • 如果你用Redis实现的话,可能会出现商品超卖的问题,那么你是如何结果商品超卖问题的?
  • 一般在支付的过程中,用户支付、账户被冻结、订单的生成、卖家库存减少、卖家收到钱,这是个一系列的过程,那么你如何设计实现分布式的事务?
  • 如果用户在提交订单之后向消息队列发送消息,这个时候网络出现异常,消息队列并没有接收到用户发送的消息怎么办?
  • 问GitHub账号
  • 两个鸡蛋问题,如果有100层楼,如何判断出恰好在第几层楼摔坏?

字节跳动HR面(现场面,21分钟48秒)

  • 为什么来头条
  • 作为项目负责人,完成了哪些工作
  • 实习时长、什么时候来

美团点评面试经验分享(非常干脆,3面直接顺利通过)

美团一面(电话面,45分钟37秒)

  • 介绍项目
  • 分布式锁的实现
  • 分布式锁过期解决
  • 前缀树是什么 前缀树的使用场景
  • 分布式数据库主从复制
  • MySQL 死锁发生的原因和解决
  • MySQL 分别建立索引 a,b,c ,语句 select ...where b=x,c=x,a=x 能不能用到索引,建立联合索引能不能用到,a=x,b>x,能不能用到,用到几个索引?
  • B 树和 b+ 树的区别 b+ 树的优点
  • Linux cpu 满了怎么排查?
  • 怎么查看占 cpu 最多的线程
  • Linux怎么搜索文件中的字符串,写到另一个文件中
  • liunx 网络相关命令
  • 如何判断链表是否有环
  • Java = 和 equals的区别
  • Java contentMap 和 HashMap 什么区别,线程安全怎么实现
  • HashMap 怎么解决哈希冲突,哈希冲突还有什么解决方法
  • Java 运行时异常和检查性异常
  • Java 类加载
  • 什么是泛型 泛型的使用场景
  • 面向过程和面向对象
  • 多态是什么 父类如何调用子类的方法
  • 问我看了啥书(设计模式,图解HTTP,Modern PHP...被打断然后开始问设计模式)
  • 单例模式的用途 静态内部类实现单例模式的方式
  • 工厂模式的用途
  • 策略模式的用途
  • Get 和 post请求的区别
  • 网页请求的整个过程
  • 说说自己的优缺点,对缺点的改进?

美团二面(现场面,57分钟)

  • 上来先写代码,两个线程交替输出1-100
  • JAVA锁机制(synchronize,ReentrantLock等)
  • 乐观悲观锁
  • sql语句慢查询如何调优
  • 主键索引和普通索引区别
  • 项目用的什么数据库,什么引擎,底层是什么
  • 说一下B+树和B树
  • B+树索引都能查到叶子节点么
  • mvcc多版本并发控制
  • 隔离级别了解么,说一下
  • JVM调过么,用的什么垃圾回收器(G1)
  • 讲一下新生代老年代(这里给我挖了个坑,等我说完,告我G1不分新生代老年代,我还没学到啊可惜)
  • TCP,UDP区别
  • 输入URL会发生什么?
  • Linux常用操作
  • 线程进程区别
  • 用过什么中间件或者消息队列么?
  • 有什么问题想问我?

美团HR面

  • 自我介绍,抓住介绍的点让你详细说说
  • 其他的面试流程?
  • 考虑去哪里工作,北京是唯一选择吗?
  • 为什么来美团,从哪里知道美团技术团队?

Java面试宝典(历年来的大厂面试必问核心知识点)

这份Java面试宝典整理了历年来大厂面试必问的核心知识点,从基础的到进阶的,让你从小白成长到架构师,面试宝典内容覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等部分,看完让你受益匪浅!

这份宝典包括了五个大部分,26个知识点:

  • Java部分:Java基础,集合,并发,多线程,JVM,设计模式
  • 数据结构算法:Java算法,数据结构
  • 开源框架部分:Spring,MyBatis,MVC,netty,tomcat
  • 分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
  • 微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

宝典目录:

写在最后

我相信,一切都会好起来。

最后祝愿大家身体健康,面试顺利!

文章内的面试题和答案及Java面试宝典,可以点击此处来获取就可以了!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
54 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
2月前
|
存储 移动开发 前端开发
「offer来了」面试中必考的15个html知识点
该文章汇总了前端面试中常见的15个HTML知识点,涵盖了从HTML文档的规范书写、doctype声明的作用到新兴的HTML5标签应用及移动端viewport设置等内容,旨在帮助求职者更好地准备相关技术面试。
「offer来了」面试中必考的15个html知识点
|
2月前
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
6月前
|
Android开发 API
顺利通过阿里Android岗面试,已拿offer
顺利通过阿里Android岗面试,已拿offer
顺利通过阿里Android岗面试,已拿offer
|
6月前
|
设计模式 缓存 前端开发
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
|
6月前
|
前端开发 Java 物联网
Android开发面试基础,3天拿到网易Android岗offer
Android开发面试基础,3天拿到网易Android岗offer
|
6月前
|
Android开发 Java 容器
顺利收获Offer,字节Android面试必问
顺利收获Offer,字节Android面试必问
|
6月前
|
算法 Java C++
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
|
6月前
|
算法 Java 关系型数据库
在家“闭关”,阿里竟发来视频面试,4面顺利拿下offer
关于个人呢,我是一个普通的双非本科生,在校成绩不错,各方面的表现自我感觉也比较突出,今年大四即将毕业,对自己进入大厂工作是很有信心的,我的方向是Java,也知道现在Java的竞争比较激烈,大厂比较难进,但我丝毫不胆怯。当然,我还是很走“狗屎运”的,没想到闭关在家期间,也能收到阿里发来的视频面,还一路顺利拿下了offer。