Java后台面经,百度+贝壳

我又来贡献面经了

贝壳的题目大多比较基础回忆不起来了,有印象深刻的话会写在里面,主要写写百度的面经

一面

  1. Java的基础数据类型有哪些?String是吗?与封装类的区别?

  2. Java中的继承和多态是什么意思?

  3. 抽象类和接口的区别?

  4. JVM内存划分?每个分块的用途?

  5. JVM垃圾回收机制?

  6. Java中子类的变量初始化的顺序?然后扯了一会类加载器

  7. Java中的4种访问权限?

  8. Java中提供的线程池?聊了一下线程池参数

  9. synchronized和lock的区别?扯了一下区别然后扯了一下底层实现

  10. 共享锁和排他锁?

  11. 手撕了一个顺序查找。。。(这都什么啊。。然后又手撕了一个算法,具体题目忘掉了。。
    问了下二分查找的适用范围

  12. (贝壳)手撕快排,多种排序的复杂度比较

  13. 线程的几种状态?

二面

问了部分和一面相同的题,一样的就不写了

  1. CMS收集器的回收过程

  2. MySQL索引的实现?引擎的区别?写了两个SQL语句

  3. Redis单线程吗?为什么这么设计?

  4. Redis的事务怎么处理的?怎么保证事务之间互不影响?

  5. (贝壳)讲一下Redis中的scan命令

  6. (贝壳+百度)讲一下Redis的哨兵机制

  7. (贝壳)讲到了高可用,讲一下Raft协议?
    (震惊,99%的本科生都不知道的协议,真相竟然是?UC:明天来编辑部上班)

  8. 还是Redis,Redis怎么做持久化?两种持久化的区别?

  9. Redis的发布和订阅机制?

  10. Java的lock的底层实现?(AQS那一套)

  11. Mybatis怎么使用事务?(不会。。

  12. Spring的事务?@Transaction(然鹅我没用过也不会

  13. Spring两大特性?AOP和IOC

  14. AOP是怎么实现的?两种动态***的应用场景?

  15. (贝壳+百度)手撕算法,百度第一题忘了。。

  16. 严格升序的序列种找两个数的和等于指定值(双指针

  17. 数组中每个位置的值等于当前位置的下标在整个数组中出现的次数,求任意n位的整个数组
    比如n=7,(0,1,2,3,4,5,6)->(4,2,1,0,1,0,0,0)
    0出现了4次,1出现了2次,2出现了1次,4出现了1次,得到数组
    (没写出来。。)

  18. 给出一个数组,求数组中每一位右边离当前位置最近的比当前位置上的数大的数,要求O(N)复杂度(单调栈)

  19. 给出一个二维数组,只有0和1,要求把1所在的行和列都置为1,要求空间复杂度为 O(1)(理扣原题)

  20. 给两个鸡蛋,有一栋无限高的楼,要求给出一种思路,使得可以知道鸡蛋最低在几层落下会碎,且试验次数最少(最坑爹的是面试官说不能假设楼高度是N?这什么操作?算法导论原题(然而我不记得了))

贝壳只有两面技术面

百度三面

面试官看了看我的简历

“Spark还有Ruby啊,会的挺多,既然你啥都会点咱们就不局限于Java了”

(吐血

聊了聊美团实习的项目,聊到了Spark,然后说到了Spark相对于MapReduce的改进,然后

“Spark熟吗”

“不是很熟,只是单纯的会用API”(企图糊弄过去)

“那你这个需求怎么做的”

“blablabla”

“那咱们就从MapReduce开始改进出一个Spark的架构吧”

(吐血*2

因为是架构设计,基本上是三面面试官在带着我做设计

问题归纳:

  1. Spark相对于MR的改进具体是什么?

  2. 整个集群中的机器有哪些角色?怎么分配任务?怎么保证负载均衡?怎么保证任务执行完成?任务执行失败怎么处理?怎么保证任务处理的高性能?

  3. 怎么在整个集群的文件系统上执行一条SQL?针对SQL的函数分场景怎么设计成分布式运行的?(感觉有点像HiveSQL,但实际上我基本忘了。。

“RPC和HTTP的区别?”

blablabla

“那多个RPC请求进来,服务器怎么处理并发呢?”

“开线程呗”(糊弄中

中间略过5分钟

“那咱们来设计一个线程池吧”

(吐血*3

给的大条件是操作系统只提供了创建线程和线程的Join操作,线程跑完任务会自动销毁。

先设计一个线程数固定的线程池

问题归纳:

  1. 怎么保证任务被单个线程占用了?任务怎么派发下去?怎么保证空闲的线程可以一直拿到任务?

  2. 用什么方法可以把这个线程池停下来?

  3. 扩展成不限数量的线程池怎么处理?

其实体感上来说,百度三面我觉得是面试体验最好的,面试官思路很清晰,考察的非常灵活,对于设计中的可行处和漏洞都可以立马指出来,能感觉到是一个非常有经验的架构师,交流过程受益良多。

总之就是这样了。(啥?你要题目答案?详询[https://www.baidu.com])

然后第二天早上收到了美团的薪资call,给我开了一个我没法拒绝的条件(滑稽

秋招结束了!

#面经##百度##贝壳找房##Java工程师##秋招#
全部评论
|ω・)果然你对美团是真爱
点赞 回复
分享
发布于 2018-10-16 10:48
楼主估计ssp
点赞 回复
分享
发布于 2018-10-16 10:52
博乐游戏
校招火热招聘中
官网直投
恭喜大佬喜提美团ssp offer
点赞 回复
分享
发布于 2018-10-16 11:26
楼主这是工作几年被问的问题呢?
点赞 回复
分享
发布于 2018-10-16 18:22
楼主好棒棒~ 是专硕还是本科大佬呢?~
点赞 回复
分享
发布于 2018-10-17 12:33
连机组和编译原理都没考到,面试覆盖面不合格🧐
点赞 回复
分享
发布于 2018-10-17 12:44
看了楼主之前帖子,找工作时就做了慕课网和牛客的项目,这样真的可以吗。。。。
点赞 回复
分享
发布于 2018-10-17 12:48
你项目有Redis他才问的吗
点赞 回复
分享
发布于 2018-10-24 10:31
大佬,这些答案你还记得吗
点赞 回复
分享
发布于 2018-10-24 10:56
请问楼主,面试官总问项目有没有上线,这种在网上学的项目该怎么说呢
点赞 回复
分享
发布于 2018-10-29 08:43
redis问的可真不少,我去面试的时候撒欢问我多线程,各种场景核心实现类的。。
点赞 回复
分享
发布于 2018-11-11 15:27
感谢分享,第17题应该是(0,1,2,3,4,5,6)->(3,2,1,1,0,0,0)
点赞 回复
分享
发布于 2018-11-23 12:12

相关推荐

8 116 评论
分享
牛客网
牛客企业服务