一起“干完”这份 300 页 1000 道面试题,牛客网论坛项目,Java 后端开发路线图
一面(一个小时左右)
算法:写冒泡排序,问如何优化,简单讲了快排和堆排序的原理
数据库:解释左连接
数据库第一第二第三范式,数据库死锁
linux:怎么查看内存;怎么查看进程,ps 命令一般在什么情况下使用。
什么是幂等操作?怎么解决幂等操作
乐观锁和分布式锁是什么,分别对应的场景是什么?
了解 Web 层开发?数据库索引了解么?聚簇索引,非聚簇索引?索引分类?
了解分布式?高可用?如何保证节点集群的同步?了解过么?
redis 的复制,持久化,分布式锁,队列支持
设计模式里面,单例模式?实现单例模式的双重校验。
二面(70 分钟左右)
算法:实现一致性 hash
如何保证数据库并发时没有问题?如先查询,后更改,或者同一时间用户查询用户分期单记逾期,同时用户执行还款,到底用户逾期成功吗,换的钱是多少?
redis 的数据量,如何做的备份恢复?
你们的股票行情数据怎么做正确性校验,加入 db 以及 redis 都出错了呢?
mysql 数据库的分库分表,有什么中间件?,主键策略是什么
大规模的数据量的分库分表,动态数据源怎么做查询(一个业务需要查询多个数据源的信息,怎么做到找到对应的数据源)?
epoll 函数怎么理解?epoll 函数在别的哪些地方有用到?
如何解决 redis 的缓存穿透问题?怎么解决 redis 的缓存雪崩问题?
Git 用的多吗?git 和 SVN 有什么区别?为什么要进行 add、commit、push 三步?
linux 怎么对 CPU 分配?
三面(一个小时)
一致性 hash 底层用的什么数据结构
手撕:有时间区间,判断昨天送外卖的峰值。(这个题做了快三十分钟,主要是外卖订单可能是前天的,昨天的或者今天的)
web 方面的应用多么,问了问 HTTP?
智力题:一天 24 小时,时针和分针会重合几次?
介绍一下自己的项目。(疯狂怼项目了,连实验室的都问了,楼主搞通信的,面试官让我用白话给面试官讲了一些技术点。)
类似于百度地图,如何求 A 地到 B 地的路径,刚开始被面试官套路了,用各种分类讨论了半天,最后才发觉面试官想问的是有向图求最短路径?说了一下方法是什么?迪杰斯特拉算法作用,复杂度?
参加过社团吗?怎样能让合作更顺畅,遇到矛盾怎么处理?在沟通过程中出现过什么问题?怎么解决的?举一个具体的例子。
对未来职业发展方向的规划和想法 矛盾
有什么问题吗?
最后总结我的面试经验
2021 年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
BAT 面试经验
实战系列:Spring 全家桶+Redis 等
其他相关的电子书:源码+调优
面试真题:
评论