写点什么

最新大厂 Java 面试题库,测试一下你能坚持到哪一面 “美团 + 字节 + 腾讯”三面技术问题

发布于: 2021 年 02 月 24 日

今年因为这个疫情,感觉这是从工作以来过的最久的一个年了,在家呆的时间不是一般的久,算一算有好几个月呢!我大概是 3 月底快 4 月了才出门,投了超多的简历,天天面试面试面试面试面试面试面试...庆幸的是还是上岸了(嘻嘻~开心~开心)。但其实所谓的庆幸也是靠努力堆起来的,我记忆力还比较好,背一背,没啥难的,背了 1000 道题。。。(注:关于我背的这 1000 题,文末有分享)


眼看着 6 月就过去了,再过两天就 7 月份了,想着面试大军可能也过不了几天就要来了,所以这两天整理了一些面经,今天给大家看的是“美团+字节跳动+腾讯”这三家的,都是三面技术,我想大家可以自己测试一下能坚持到哪里。


先来看美团


美团的话,三面下来,设计的内容知识也是挺广的吧,有 MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等...


一面问题:MySQL+Redis+Kafka+线程+算法


  • mysql 知道哪些存储引擎,它们的区别

  • mysql 索引在什么情况下会失效

  • mysql 在项目中的优化场景,慢查询解决等

  • mysql 有什么索引,索引模型是什么

  • B-树与 B+树的区别?为什么不用红黑树

  • mysql 主从同步怎么做

  • 乐观锁与悲观锁的区别?

  • binlog 日志

  • redis 持久化有哪几种方式,怎么选?

  • redis 主从同步是怎样的过程?

  • redis 的 zset 怎么实现的?

  • redis key 的过期策略

  • hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在 1.8 中链表大于 8 时会转红黑树?HashMap 为什么线程不安全的?

  • 如何实现线程安全的 hashmap?

  • select 和 epoll 的区别

  • http 与 https 的区别,加密怎么加的?

  • raft 算法详细讲解

  • Kafka 选主怎么做的?

  • kafka 如何保证生产与消费都是同步的?

  • kafka 怎么保证不丢消息的

  • redis 如何保证高可用

  • 算法:剪绳子(贪心或递归解决)

  • 算法:给前序和中序遍历,重建二叉树


二面(volatile+线程+并发+算法+设计模式)


  • 自我介绍

  • 讲讲项目(项目没啥亮点,直接问基础)

  • volatile 作用?底层实现?禁止重排序的场景?单例模式中 volatile 的作用?

  • 如何构造线程池,它的参数,饱和策略?

  • 公平锁和非公平锁区别?为什么公平锁效率低?

  • 线程都有哪些状态?

  • 线程、进程、协程的区别?

  • 同步队列器 AQS 思想,以及基于 AQS 实现的 lock,。

  • 并发工具类 CountDownLatch、CyclicBarrier、Semaphore 介绍

  • Execuors 类实现的几种线程池类型,最后如何返回?

  • 手写单例模式

  • 手写消费者生产者模式

  • 算法:反转单链表

  • 算法:给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。


三面


这一面,没问啥东西,主要聊人生,和未来 3 年的规划。。。。。。


第二个是字节跳动


一面:算法+数据库+事务+网络


  • 自我介绍

  • 项目介绍(没亮点,还是问基础)

  • 堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。

  • Object 类都有哪些方法?

  • DNS 解析的过程/浏览器输入一个 url,敲下回车后网络的全过程

  • HTTP 和 HTTPS 的区别

  • UDP 怎么实现可靠传输

  • 介绍下 https,是如何加密的,加密算法

  • 数据库索引的优缺点,以及什么时候数据库索引失效

  • 事务的隔离级别?

  • 数据库的脏读,不可重复读,幻读

  • 算法:接雨水:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

  • 算法:N 皇后


二面:Kafka+redis+算法


  • Kafka 的特性?

  • Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?

  • 消费者重平衡(高可用性、伸缩性)

  • 哪些情景下会造成消息漏消费?

  • 如何保证消息不被重复消费(幂等性)

  • KafkaConsumer 是非线程安全的,那么怎么样实现多线程消费?

  • Kafka 生产者客户端中使用了几个线程来处理?分别是什么?

  • 消费者与生产者的工作流程:

  • topic 的分区数可不可以增加?

  • 算法:二叉树中的最大路径和

  • 算法:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。


三面:Redis+Spring+Dubbo+算法


  • redis 的 Zset 怎么实现的?

  • sentinel 和 cluster 区别和各自适用场景

  • redis cluster 集群同步过程

  • redis 单线程为什么快?

  • mybatis 一级缓存和二级缓存

  • spring 如何解决循环依赖?

  • spring AOP 的原理。

  • spring 的生命周期。

  • Dubbo 服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码

  • 项目中遇到了哪些问题。(抱歉,我的工作就是增删改查,没接触过相关问题)

  • 算法:二叉树的镜像

  • 算法:从上到下打印二叉树

  •  


最后瞄一眼腾讯


腾讯这三面下来问的也不少,自求多福吧。


一面


  • 如何设计一个秒杀系统?

  • 一天爬一千万条文章,怎么做设计?怎么并行协调?100 台服务器怎么尽可能负载均衡?

  • 有用过短域名服务吗,能说一下吗?

  • 微服务的特点,如何实现服务发现和负载均衡

  • 如何排查线上问题?(背过,没排过)

  • 贝叶斯的概率学原理

  • 负载均衡的加权轮询算法怎么实现

  • 如果用户量大幅度上涨,如何优化?

  • paxos 算法(这个算法太难,学的时候就没太理解)

  • 平时都看什么博客,最近看什么书了


二面


  • 自我介绍

  • 项目介绍

  • redis 的 5 种类型,及其实现原理

  • 如何使用 redis 的 Zset 实现延时队列?

  • redis 如何实现高可用?

  • redis 缓存穿透、缓存击穿、缓存雪崩

  • 布隆过滤器的实现

  • 如何保证 mysql 与 redis 的双写一致性?

  • 负载均衡算法有哪些?

  • 服务发现是怎么实现的?

  • 熔断是怎么实现的?

  • 算法:连续子数组的最大和

  • 讲讲分布式 CAP 和 BASE?

  • 什么是强一致性?

  • 分布式事务的解决方案?

  • TCC(两阶段型、补偿型)

  • id 生成器如何实现?

  • 如何判断一个图是否有环?

  • 一致性 Hash 算法,及其应用

  • 背包问题


三面


  • 自我介绍

  • 项目介绍

  • redis 的 zSet 如何实现?

  • redis 持久化机制。

  • redis 的 Hash 类型讲解,渐进式 rehash。

  • HashMap 原理,一个 put 操作,都有什么流程?

  • nginx 有自己配置过吗(这个是我唯一手动操作过的,这个不是背的)

  • nginx 的使用场景。

  • 什么是分布式,什么是集群,区别是什么?

  • 在基于 dubbo 的分布式环境中,一般将超时 timeout 设置在 provider 还是 consumer?

  • dubbo 中负载均衡的策略有哪些?

  • 接口的异步调用?如何设置?运行效果?

  • 谈谈基于 dubbo 的系统中 consumer 集群的解决方案?

  • mysql 是集群还是单节点?最大连接数,最大的表中数据量大约是多少?

  • mysql 主从复制主要有哪几种模式?

  • mysql 索引,B+树,为什么不用红黑树?

  • 数据库垂直与水平拆分怎么做。

  • 分布式 session 设置

  • IO、BIO、NIO,阻塞与非阻塞的区别?

  • 分布式接口的幂等性设计(不能重复扣付款)

  • 算法:二叉搜索数与双向链表(这个懵了)

  • 算法:最长不含重复字符的子字符串

  • 算法:手写快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性


结局


看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。


开篇有提及我可是足足背下了 1000 道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试 1000 题


注意:不论是我说的互联网面试 1000 题,还是后面提及的算法与数据结构、设计模式以及更多的 Java 学习笔记等,皆可免费分享给各位朋友,

需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取





互联网工程师必备的面试 1000 题


而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT 名企算法与数据结构题目最优解》,里面近 200 道真实出现过的经典代码面试题



部分题目



部分题目


其余像设计模式,建议可以看看下面这 4 份 PDF



设计模式


更多的 Java 面试学习笔记如下,关于面试这一块,我额外细分出 Java 基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。



更多的 Java 面试学习笔记


以上所提及的全部 Java 面试学习的 PDF 及笔记,如果你也感兴趣,小编这边可以免费分享给你,


需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取




用户头像

添加我的微信:tkzl6666 获取文中资料 2020.09.19 加入

添加我的微信:tkzl6666 获取文中资料

评论 (1 条评论)

发布
用户头像
最新大厂 Java 面试题库,测试一下你能坚持到哪一面 “美团 + 字节 + 腾讯”三面技术问题最新大厂 Java 面试题库,测试一下你能坚持到哪一面 “美团 + 字节 + 腾讯”三面技术问题
2021 年 02 月 24 日 16:34
回复
没有更多了
最新大厂Java面试题库,测试一下你能坚持到哪一面 “美团+字节+腾讯”三面技术问题