年末三面快手 Java 后端岗,没有刁难轻轻松松就拿下了意向书,分享面经
=========================================================================
不同版本的 Spring Framework 有哪些主要功能?
讲一下 ioc、aop
ioc 怎么防止循环依赖
aop 的实现原理、动态代理过程
区分 BeanFactory 和 ApplicationContext?
spring bean 容器的生命周期是什么样的?
@Autowired 注解有什么用?
使用 Spring 访问 Hibernate 的方法有哪些?
Spring 处理请求的过程?
[](
)Redis
========================================================================
为什么要用 redis /为什么要用缓存(高性能、高并发)
redis 常见数据结构以及使用场景分析(String、Hash、List、Set、Sorted Set)
Redis 常见异常及解决方案(缓存穿透、缓存雪崩、缓存预热、缓存降级)
分布式环境下常见的应用场景(分布式锁、分布式自增 ID)
Redis 集群方案应该怎么做?都有哪些方案?
Redis 集群的主从复制模型是怎样的?
redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
如何解决 Redis 的并发竞争 Key 问题?
如何保证缓存与数据库双写时的数据一致性?
redis 的 zset 的使用场景?底层实现?为什么要用跳表?
[](
)MySQL
========================================================================
事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL 默认是哪个级别?
MySQL 的 MyISAM 与 InnoDB 两种存储引擎在,事务、锁级别,各自的适用场景?
有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
sql 查询语句确定创建哪种类型的索引?如何优化查询?
什么是临时表,临时表什么时候删除?
mysql 脏页?
分库分表有哪些策略?怎么保证 id 唯一?
非关系型数据库和关系型数据库区别,优势比较?
数据库的读写分离、主从复制,主从复制分析的 7 个问题?
MySQL 都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
数据库崩溃时事务的恢复机制(REDO 日志和 UNDO 日志)?
对 uuid 的理解?知道哪些 GUID、Random 算法?
主键选随机 id、uuid 还是自增 id?为什么?主键有序无序对数据库的影响?
主从复制的过程?复制原理?怎么保证强一致性?
[](
)Kafka
========================================================================
生产者和消费者的命令行是什么?
Kafka 怎么保证数据可靠性?
讲讲 kafka 维护消费状态跟踪的方法
为什么需要消息系统,mysql 不能满足需求吗?
Kafka 判断一个节点是否还活着有那两个条件?
Kafka 与传统 MQ 消息系统之间有三个关键区别?
kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
kafka 如何不消费重复数据?比如扣款,我们不能重复的扣
[](
)网络
=====================================================================
tcptcp 有哪些机制确保可靠性?拥塞控制怎么实现?close_wait 太多怎么处理?为什么会出现这种情况?
讲讲三次握手,四次挥手?
keepalive 有什么用?Https 原理?知道哪些 http 状态码有哪些?http 有哪些请求方法?put、post 实现上有什么区别?
前后端分离与不分离的区别?各有什么优缺点?
常见 web 攻击有哪些?了解 csrf 攻击么?
nginx 达到上限了怎么办?怎么对 nginx 负载均衡?dns?
nginx 负载均衡有哪些算法?各自有什么优缺点?
restful 的作用?有哪些优点和缺点?
什么是 cdn?header 中涉及到缓存的字段有哪些?cookie session 介绍一下 html 页面,怎么与后端交互?流程是什么?涉及到哪些组件?http 协议,报文格式?
[](
)设计模式
=======================================================================
什么是设计模式?你是否在你的代码里面使用过?
Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
在 Java 中,什么叫观察者设计模式?
举一个用 Java 实现的装饰模式(decorator design pattern) ?它是作用于对象层次还是类层次?
单例对于单例,你知道哪些实现方法?实现一个懒加载单例双重校验锁为什么需要双重校验?
使用工厂模式最主要的好处是什么?在哪里使用?
[](
)分布式
======================================================================
有哪些分布式组件是你最熟悉的,简单聊一聊。
cap 是指什么?mysql 满足 cap 中哪些?
分布式锁有哪些方式可以实现?各有什么优缺点?
什么是一致性 hash?自己实现一致性 hash,会用什么数据结构?
[](
)微服务
======================================================================
微服务架构有哪些优势?
单片,SOA 和微服务架构有什么区别?
什么是 RPC?怎么实现幂等性?
什么是 REST / RESTful 以及它的用途是什么?
配置中心有哪些选项?apollo 的架构?怎么无感实现已加载数据更新?
讲一下熔断概念?熔断原理?令牌桶?熔断三个状态关系?
熔断会影响性能么?有遇到过线上发生熔断么?不加会怎样?
[](
)算法题
======================================================================
基本都会问时间复杂度
有哪些常用排序算法?
手写快排,快排时间复杂度是多少?
快排算法是不是稳定的?什么是稳定性?
给定一个字母组成的字符串,找出不含有重复字符的最长子串的长度。
9 个硬币中有一个劣币,用天平秤,最坏几次?
深度优先,广度优先
括号匹配,时间复杂度,空间复杂度
单向链表的归并排序
1g 大小文件,里面每行是最大 16k 的单词,限制内存 1m,统计单词频率最多的 100 个单词
手写 100 位带小数的大数字的减法
[](
)你有什么想问的?+Offer 选择?
==============================================================================
=======
部门定位?岗位职责?目前在做什么业务?薪酬福利介绍?
目前手头的 offer 情况?这些公司你自己有什么倾向性呢?最看重什么因素?想加入一个怎么样的团队?
你的预期薪酬是多少?目前的薪资情况?
最近一年的绩效情况?
补充一下我 2020 下半年的 offer 情况,其实是拿到了美团架构、快手主 app、猿辅导斑马、腾讯 csig 等意向书的。而且我觉得面试前的““练手””十分重要,像我前期“裸面”就硬生生的浪费了阿里、蚂蚁、字节、Shopee 等的面试机会。所以,在这里我给大家伙的建议就是一定要做好充足的准备,不然也是耽搁面试官和自己的时间,并且面试的时候也会手足无措,毕竟肚子里没有货啊!
最后再三思考,还是选择了快手,准备下周一入职了!大家加油,跳槽面试无时不在,若是还没准备好,我建议等过完年去参加春招提前批也不错,但是这段空余的时间你可不能浪费,好好把握!
说到这儿了,最后在出来放一波福利吧!希望可以帮助到大家!
下面我会分享一下自己 2020 年来所收集整理的全部--Java 学习、面试、文档、视频笔记等资源,对于需要更深学习以及跳槽面试的盆友都是有很大帮助的,放福利,请大家转发一下支持,然后加 VX:bjmsb03?即可回复分享!
千千万万要记得:多刷题!!多刷题!!
之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!
篇幅有限,以下只能截图分享部分的资源!!
(1)多线程(这里以多线程为代表,其实整理了一本 JAVA 核心架构笔记集)
(2)刷的算法题(还有左神的算法笔记)
(3)面经+真题解析+对应的相关笔记(很全面)
评论