百度提前批 Java 一面 60min

项目+八股+算法(简单)

很好奇为什么现在还有提前批的面试,这一次的面试体验就一个字,莽村的莽,全程速通八股背诵(我的语速比较快,答了很多)

项目:主要问了下项目设计,用到的技术栈。没有太多延伸的东西,可以直接化为八股;

八股主要内容:

  1. Thrift源码,HTTP与Thrift 的区别(说了下IDL,反射调用Client)。
  2. epoll、poll、select说的是什么(我觉得这个真没必要背每个具体的执行过程,重点要答出IO多路复用,同时监视多个文件描述符,当事件准备就绪时即可进行相应的读写操作)。
  3. Nginx使用,负载均衡算法(轮询,随机,流量平均,加权,IP哈希),Nginx如何实现自动故障转移。(没答上,只是简单用过做router。实际上Nginx是有默认的超时重试机制的通过proxy_next_upstream参数设置。但是这样会有一个问题,通过超时重试确实最后请求能够被处理,但是每次都会多出一次超时的访问,无法自动摘除。这里可以使用一个由淘宝开发的开源插件nginx_upstream_check_module,可以自动主动心跳检测,进行服务摘除,其实等同于Nacos
  4. JUC常用关键字及类,线程池参数(一般顺带说下工作原理)。
  5. volatile关键字作用。(读写可见,禁止指令重排)
  6. Spring如何解决循环依赖,三级缓存中存的是什么。(好久没看Spring的八股,这个答得不好,三级缓存分别是完整对象、实例化对象、对象工厂-三级缓存里面实际上是一个Lambda函数。在不涉及循环引用的情况下,二级缓存和三级缓存压根用不到,在doCreateBean当中有个判断当前对象是否已经处于正在创建的流程中了,说明循环创建了,这样就会将三级缓存和二级缓存启用。此时再依赖注入创建其他对象,再再依赖注入的时候就能从三级缓存中找到对应的函数,生成临时对象放在二级缓存中,并且此时会将AOP提前触发。这个核心流程要清晰... 又看了看源码发现跟之前记得差别很大...)
  7. JVM内存模型,如果一个项目中频繁大量创建寿命短的对象,如何优化JVM。(这个优化策略不太清楚。可以从以下几点回答?对象复用、栈分配、逃逸分析、年轻代垃圾回收器?)
  8. MySQL执行过程,索引如何优化。(解析-语法树,优化-选择索引,执行器执行)(索引覆盖,前缀索引,联合索引,避免失效和冗余)

算法题:合并k个链表,秒

全部评论
怎么还问thrift,我都是实习才知道有这个东西,也还只是简单用了一下
1 回复 分享
发布于 2023-08-23 13:34 北京
太顶了
点赞 回复 分享
发布于 2023-08-23 17:01 陕西
UU想问下,百度是用自己的IDE还是如流的IDE,感觉用平台的IDE总有点怪怪的。。。
点赞 回复 分享
发布于 2023-08-23 17:37 澳大利亚
佬,哪个部门呢
点赞 回复 分享
发布于 2023-08-23 23:23 北京
点赞 回复 分享
发布于 2023-08-24 14:43 浙江
有没有佬能解答一下7
点赞 回复 分享
发布于 2023-08-28 15:32 湖北
我想问一下,Spring为什么需要三级缓存而不是二级缓存这个问题,我真的很难理解网上的答案,感觉第6问答的挺清楚的想要再问一下这个问题应该怎么回答
点赞 回复 分享
发布于 2023-08-30 15:42 广东

相关推荐

把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
5 32 评论
分享
牛客网
牛客企业服务