2020年,莫名的感受本身度过了最艰难而又漫长的一年!炒鱿鱼,跳槽不顺,就像屡见不鲜同样。2020也是迄今为止我投简历最多的一年了,每天面试每天挂,要多糟心有多糟心…不过我始终坚信,机会永远是留给坚持不懈与努力的人的,因此很庆幸,我抓住了2020年的年尾吧,上岸了腾讯!mysql
回顾这一年,个人付出终归是没有白费的!很快,今天又是2021年02月19号了,激烈的金三银四已经没有多少日子就有上场了!因此今天,我挑选了“美团+字节+腾讯”等三家的一二三面问题,在此篇文章里作一个分享,但愿看到的朋友能够作一个面试参考,并可自行测挑战一下你能走到哪一面,期待你的表现~【点击这里,暗号博客园】获取三个大厂的面试题答案!nginx
注:面试以前我曾背过面试1000题(详情请看文末),我的记忆力还行,整个背下来感受仍是挺不错的,毕竟你们都深知”面试造火箭,工做拧螺丝“程序员
第一家是美团
美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等…面试
image.png
一面问题:MySQL+Redis+Kafka+线程+算法
mysql知道哪些存储引擎,它们的区别redis
mysql索引在什么状况下会失效算法
mysql在项目中的优化场景,慢查询解决等spring
mysql有什么索引,索引模型是什么sql
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年的规划。。。。。。
第二家是字节跳动
image.png
一面问题:算法+数据库+事务+网络
自我介绍
项目介绍(没亮点,仍是问基础)
堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。
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服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
项目中遇到了哪些问题。(抱歉,个人工做就是增删改查,没接触过相关问题)
算法:二叉树的镜像
算法:从上到下打印二叉树
最后一家,瞄一下腾讯
腾讯这三面下来问的也很多,自求多福吧。
image.png
一面问题:高并发+微服务+算法
如何设计一个秒杀系统?
一天爬一千万条文章,怎么作设计?怎么并行协调?100 台服务器怎么尽量负载均衡?
有用太短域名服务吗,能说一下吗?
微服务的特色,如何实现服务发现和负载均衡
如何排查线上问题?(背过,没排过)
贝叶斯的几率学原理
负载均衡的加权轮询算法怎么实现
若是用户量大幅度上涨,如何优化?
paxos算法(这个算法太难,学的时候就没太理解)
平时都看什么博客,最近看什么书了
二面问题:Redis+分布式+算法
自我介绍
项目介绍
redis的5种类型,及其实现原理
如何使用redis的Zset实现延时队列?
redis如何实现高可用?
redis缓存穿透、缓存击穿、缓存雪崩
布隆过滤器的实现
如何保证mysql与redis的双写一致性?
负载均衡算法有哪些?
服务发现是怎么实现的?
熔断是怎么实现的?
算法:连续子数组的最大和
讲讲分布式CAP和BASE?
什么是强一致性?
分布式事务的解决方案?
TCC(两阶段型、补偿型)
id生成器如何实现?
如何判断一个图是否有环?
一致性Hash算法,及其应用
背包问题
三面问题:Redis+分布式+MySQL+算法
自我介绍
项目介绍
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,阻塞与非阻塞的区别?
分布式接口的幂等性设计(不能重复扣付款)
算法:二叉搜索数与双向链表(这个懵了)
算法:最长不含重复字符的子字符串
算法:手写快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性
结局:总结+分享
看完美团、字节、腾讯这三家的一二三面试问题,是否是感受问的特别多,可能我们真的又得开启面试造火箭、工做拧螺丝的模式去准备下一次的面试了。
开篇有说起我但是足足背下了Java互联网工程师面试1000题,多少仍是有点用的呢,换汤不换药,无论面试官怎么问你,抓住本质便可!能读到此处的都是真爱,因此福利也为你准备,这份1000题免费送你!【点击这里,暗号博客园!~】,免费获取~
Java互联网工程师面试1000题
并且从上面三家来看,算法与数据结构是必备不可少的呀,所以我建议你们能够去刷刷这本左程云大佬著做的 《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
更多的Java面试学习笔记以下,关于面试这一块,我额外细分出Java基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。
以上所说起的所有Java面试学习的PDF及笔记,如若皆是你所须要的,那么均可发送给你!