百度Java研发二面面经
全程大约45分钟,视频面试,没让手撕代码
自我介绍
为什么选择学习Java呢
简单介绍一下自己做过的项目吧
为什么使用Redis,Redis是怎么使用的
Redis底层的具体实现是什么
分布式锁除了Redis还可以怎么实现
数据库实现分布式锁会有什么问题
这些问题在Redis实现的分布式锁中是怎么解决的
为什么不用Zookeeper实现(这不是因为不会嘛)
在项目中Redis是怎么做缓存的
说说你在项目中是怎么使用消息队列的
为什么要使用消息队列呢
如何保证消息正确发送到了队列呢
如何保证消费者正确消费了消息呢
如果消费者消费过程中出错了会怎么办(没答好)
你对于分布式还有什么了解(讲了CAP),了解分布式相关的一致性协议吗(不了解)
对于Redis集群你有什么了解(主从复制,哨兵)
哨兵是什么,具体是做什么的,有什么好处(没说太清楚)
设计模式了解哪些,这些设计模式的具体使用场景你了解吗
为什么要有这么多设计模式呢
如何保证代码的健壮性可维护性和可扩展性呢
讲讲HashMap的结构吧,put操作的具体流程是什么
对于线程池有什么了解,有哪些常见的线程池
线程池中的参数简单收一下,为什么要有类似核心线程数、最大线程数这样的参数呢
线程池的具体指令流程说一下
讲讲MySQL中有哪些索引吧,讲一下这些索引有什么特性或者说特点
讲一下TCP协议吧
TCP三次握手四次挥手讲一下
TCP和HTTP的关系是什么
HTTP和HTTPS有什么区别
讲一下HTTPS底层的原理吧
操作系统了解哪些东西
虚拟内存和物理内存讲一下
为什么要有虚拟内存呢(说的不全面)
中断是什么
SpringBoot启动的过程是什么
你还了解哪些框架
你对于微服务有什么理解(了解不多,大概懂得基本思想)
像是Docker、Dubbo、SpringCloud有哪些了解(不怎么了解)
对于云服务有什么了解
你对于未来的学习规划是怎样的,接下来想学一下哪些技术
反问:
让面试官评价一下自己
面试官说基础不错,对于自己做的项目也了解的比较清楚,但是知识的广度还是不够,希望你日常可以多了解一下目前最前沿的技术,要有极客精神
毕竟接触Java一共只有一年多一些,自己还是太菜了===
#面经##百度##校招##Java工程师#