# 一面问题:
MysqL+Re
dis+Kafka+线程+算法
*
MysqL知道哪些存储引擎,它们的区别
*
MysqL索引在什么情况下会失效
*
MysqL在项目中的优化场景,慢
查询解决等
*
MysqL有什么索引,索引模型是什么
* B-树与B+树的区别?为什么不用红黑树
*
MysqL主从同步怎么做
* 乐观锁与悲观锁的区别?
*
binlog日志
* re
dis 持久化有哪几种方式,怎么选?
* re
dis 主从同步是怎样的过程?
* re
dis 的 zset 怎么实现的?
* re
dis key 的过期策略
* hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
* 如何实现线程安全的hashmap?
* select 和 epoll的区别
* http与https的区别,加密怎么加的?
* raft算法详细讲解
* Kafka 选主怎么做的?
* kafka如何保证生产与消费都是同步的?
* kafka 怎么保证不丢消息的
* re
dis如何保证高可用
* 算法:剪绳子(贪心或递归
解决)
* 算法:给前序和中序遍历,重建二叉树
# 二面(volatile+线程+并发+算法+设计模式)
* 自我介绍
* 讲讲项目(项目没啥亮点,直接问基础)
* volatile作用?底层实现?
禁止重排序的场景?单例模式中volatile的作用?
* 如何构造线程池,它的参数,饱和策略?
* 公平锁和非公平锁区别?为什么公平锁效率低?
* 线程都有哪些状态?
* 线程、进程、协程的区别?
* 同步队列器AQS思想,以及基于AQS实现的lock,。
* 并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍
* Execuors类实现的几种线程池类型,最后如何返回?
* 手写单例模式
* 手写消费者生产者模式
* 算法:反转单链表
* 算法:给定
一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
# 三面
这一面,没问啥东西,主要聊人生,和未来3年的规划。。。。。。
# 第二个是字节跳动

# 一面:算法+
数据库+事务+网络
* 自我介绍
* 项目介绍(没亮点,还是问基础)
* 堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。
* Object类都有哪些
方法?
* DNS解析的过程/浏览器输入
一个url,敲下回车后网络的全过程
* HTTP和HTTPS的区别
* UDP怎么实现可靠传输
* 介绍下https,是如何加密的,加密算法
*
数据库索引的优缺点,以及什么时候
数据库索引失效
* 事务的隔离级别?
*
数据库的脏读,不可重复读,幻读
* 算法:接雨水:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
* 算法:N皇后
# 二面:Kafka+re
dis+算法
* Kafka的特性?
* Kafka中的分区器、序列化器、
拦截器是否了解?它们之
间的处理顺序是什么?
* 消费者重平衡(高可用性、伸缩性)
* 哪些情景下会造成消息漏消费?
* 如何保证消息不被重复消费(幂等性)
* KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
* Kafka生产者客户端中使用了几个线程来处理?分别是什么?
* 消费者与生产者的工作流程:
* topic的分区数可不可以
增加?
* 算法:二叉树中的最大路径和
* 算法:给定单向链表的头指针和
一个要
删除的节点的值,定义
一个函数删除该节点。
# 三面:Re
dis+Spring+
dubbo+算法
* re
dis的Zset怎么实现的?
* sentinel和cluster区别和各自适用场景
* re
dis cluster集群同步过程
* re
dis单线程为什么快?
* mybatis一级缓存和二级缓存
* spring如何
解决循环依赖?
* spring AOP的原理。
* spring的生命周期。
*
dubbo服务暴露和引用过程,
负载均衡策略,容错机制在哪里实现的源码
* 项目中遇到了哪些问题。(抱歉,我的工作就是增删改查,没接触过相关问题)
* 算法:二叉树的镜像
* 算法:从上到下打印二叉树
# 最后瞄一眼腾讯
腾讯这三面下来问的也不少,自求多福吧。

# 一面
* 如何设计
一个秒杀系统?
* 一天爬一千万条
文章,怎么做设计?怎么并行协调?100 台服务器怎么尽可能
负载均衡?
* 有用过短域名服务吗,能说一下吗?
* 微服务的特点,如何实现服务发现和
负载均衡
* 如何排查线上问题?(背过,没排过)
* 贝叶斯的概率学原理
*
负载均衡的加权轮询算法怎么实现
* 如果
用户量大幅度上涨,如何优化?
*
paxos算法(这个算法太难,学的时候就没太理解)
* 平时都看什么
博客,最近看什么书了
# 二面
* 自我介绍
* 项目介绍
* re
dis的5种类型,及其实现原理
* 如何使用re
dis的Zset实现延时队列?
* re
dis如何实现高可用?
* re
dis缓存穿透、缓存击穿、缓存雪崩
* 布隆过滤器的实现
* 如何保证
MysqL与re
dis的双写一致性?
*
负载均衡算法有哪些?
* 服务发现是怎么实现的?
* 熔断是怎么实现的?
* 算法:连续子数组的最大和
* 讲讲分布式CAP和BASE?
* 什么是强一致性?
* 分布式事务的
解决方案?
* TCC(两阶段型、补偿型)
* id
生成器如何实现?
* 如何判断
一个图是否有环?
* 一致性Hash算法,及其应用
* 背包问题
# 三面
* 自我介绍
* 项目介绍
* re
dis的zSet如何实现?
* re
dis持久化机制。
* re
dis的Hash类型讲解,渐进式rehash。
* HashMap原理,
一个put操作,都有什么流程?
*
Nginx有自己配置过吗(这个是我唯一手动操作过的,这个不是背的)
*
Nginx的使用场景。
* 什么是分布式,什么是集群,区别是什么?
* 在基于
dubbo的分布式环境中,一般将超时timeout设置在provider还是consumer?
*
dubbo中
负载均衡的策略有哪些?
* 接口的异步
调用?如何设置?运行
效果?
* 谈谈基于
dubbo的系统中consumer集群的
解决方案?
*
MysqL是集群还是单节点?最大连接数,最大的表中数据量大约是多少?
*
MysqL主从复制主要有哪几种模式?
*
MysqL索引,B+树,为什么不用红黑树?
*
数据库垂直与水平拆分怎么做。
* 分布式session设置
* IO、BIO、NIO,阻塞与非阻塞的区别?
* 分布式接口的幂等性设计(不能重复扣付款)
* 算法:二叉
搜索数与双向链表(这个懵了)
* 算法:最长不含重复字符的子字符串
* 算法:手写
快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性
#
# 难道这样就够了吗?不,远远不够!
提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。
备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记,以及学习视频都是[可以点击这里免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)的!
我为什么要写这篇
文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起
分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、
博客、
掘金等网站上
分享技术,这也是一种学习的
方法。
今天就
分享到这里了,谢谢大家的关注,以后会
分享更多的干货给大家!



#
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。