8.23百度一面凉经1. 自我介绍2. 实习里面碰到的技术难点并且是怎么解决的? a. es b. 为什用es替代mysql,他俩有啥不一样? c. 如果你没有搜索的需求,一开始为什么要用数据库呢? d. 数据量不大的话也是要走全表扫描的,跟你数据量大不大有什么关系? e. mysql里面的模糊搜索跟es里面的模糊搜索有什么不一样的? f. 我要模糊搜索一个词,我在es里面没有对其进行分词,那我是不是就搜索不到了? g. 你们是怎么判断哪些是要搜的词的,你们能知道世界上所有的词呢?3. mysql a. 隔离级别 b. 可重复读 c. 版本控制可以解决幻读问题,能不能讲一下是怎么解决的? ⅰ. 也就是说每一条数据都要存到历史版本?那具体是怎么来存的? ⅱ. 如果把每条数据都要存历史版本,如果存到日志里边,那这个日志是不是越来越大,这个历史版本什么时候清掉?4. redis a. 怎么做持久化的? ⅰ. rdb ⅱ. aof 1. 讲讲日志的写入流程? 2. redi每个操作都要写一下日志,那会对性能有什么影响,然后通过什么方式来避免这种影响? 3. 宕机为什么会导致数据丢失,丢失的是哪些数据? 4. 了解操作系统里面的page cache吗? 5. aof日志写到page cache里边,异步的把内存里的日志数据写入到磁盘/s5. java a. aio、bio、nio的区别?https://blog.csdn.net/meism5/article/details/89469101 b. 阻塞、非阻塞? c. 同步、异步?6. go和java对比 a. go struct和java 类有什么不一样的? b. 一个struct想要复用另外一个struct的成员的话怎么做? c. java里面实现接口和go实现接口有啥区别? d. go里面struct怎么实现一个接口?写出来7. 算法 a. 2385. 感染二叉树需要的总时间#Java研发工程师实习# #百度实习#附录音: https://www.bilibili.com/audio/au3168287?type=1