百度工程效能部面经

提前批刚开始就定向内推了百度的商业架构部,简历挂了,一直共享中,没人捞,后面在 Boss 上找到这个部门的经理,把简历发给他了,马上就变成面试流程中了,让我注意接听面试电话。

一面 2021/8/27 14:00 1h16min

  1. 面试官自我介绍

  2. 候选人自我介绍

  3. 简单的看两道小算法热热身

    • 插入排序、快速排序二选一
    • LeetCode 145 二叉树的后序遍历二叉树后序遍历(非递归)
    • 长度为 n 的单链表,在以时间复杂度为 O(n) 的情况下,怎么快速找到第 1 / 3 元素的位置,把这个元素打印出来(口述)
  4. 实习或者自己的小项目中接触过设计模式吗?比如用过什么设计模式?

  5. 多态这个概念口述一下?

  6. HashMap 和 TreeMap 区别了解吗?使用场景了解吗?说一下 HashMap 的底层实现?

  7. LinkedList 和 ArrayList 有什么区别?LinkedList 底层是双向链表,这个双向链表给他提供了哪些得天独厚的优势?

  8. 多线程的实质了解吗?

  9. Java 线程池有哪些参数?

  10. 标准的 JDK 有几种方法去新建、启动一个线程?

  11. CPU 使用率和负载的概念了解吗?(面试官解释了一下为什么需要学习操作系统,学习操作系统对工作有什么帮助)

  12. 浏览器输入 www.baidu.com 到页面呈现,后台经历了哪些过程?

  13. Spring AOP 原理了解吗?如何用 JDK 原生的 API 实现自己的动态代理模式?

  14. MySQL 的存储引擎有哪些?

  15. 索引是一个什么东西呢?

  16. 创建索引时要遵循哪些基本原则?

  17. 索引在查询时候要遵循一个最左匹配,这个最左匹配是什么情况?

  18. 联合索引 (a, b, c),where 条件为 a = 1, c = 2,这个索引会生效吗?

  19. 在 Spring 中,操作数据库时,想实现一个事务,该怎么写代码?

  20. 有张 Person 表,有 name 和 age 两个字段,如何找出这张表年龄第二大的人,如果人数大于 1,我们需要把人名打印出来,这个 SQL 语句怎么写?

SELECT name FROM person WHERE age in (SELECT DISTINCT age FROM person ORDER BY age DESC LIMIT 1, 1)
  1. Redis 做分布式锁了解吗,怎么实现的?如果有 A、B 两个线程同时获取锁,都去 Redis 中加锁,假设 A 先加锁,但是 A 比较磨叽,没加完,这时候 B 也来加锁,B 不磨叽,立马加上了锁,A 就会产生一个独占了这把锁的假象,继续执行,怎么解决?
  2. Linux 了解的多吗?如何找出当前路径下 .java 文件的个数?
  3. 用过 Docker 吗?用自己的话说 Docker 和传统的虚拟机有啥区别?
  4. 实习了多久?主要负责什么业务?
  5. 在 JD 那边主要负责什么?
  6. 你感觉经过两次实习,你认为自己比较得意的技术产出是什么?
  7. 中间件都用什么?

反问:

  1. 具体做什么(iCode、iCoding、代码统计分析平台),这些平台会商业化吗?
  2. 百度的新人培养机制?

面试官上来先做了自我介绍,说了他的观点,面试不是拷问,而是技术交流。不得不说百度的面试体验真的好,你不会的问题会引导你,有时候还会给你讲,并且给你讲学这块知识在工作中会有什么用处。

二面 2021/9/1 10:30 1h10min

  1. 自我介绍
  2. 本科在哪里?没考虑考研吗?
  3. 挑一下你之前做过的比较有技术含量的项目讲一下吧,先介绍一下业务、再介绍一下技术架构、还有一些难点?
  4. 说一下你为什么要使用 Lucene?索引的是什么?需要建几个索引?标题、描述、内容的权重是一样的吗?
  5. 还引入了什么?答了引入 Nginx 做负载均衡,继续追问如果其中一个服务出问题怎么办,怎么保障他的高可用?
  6. 说一下实习的项目吧?
  7. 为什么配置态服务和运行态服务要分开?我在运行态服务里面把配置放到配置文件中不行吗?
  8. 配置态配置存在哪里?运行态服务能访问这个数据库吗?为什么要引入配置中心,不让运行态服务去查数据库呢?怎么保证数据库和配置中心的数据一致性呢?数据库成功了,推送配置中心没成功怎么办?重试还不成功呢?
  9. 你觉得用配置中心有什么好处呢?直接在运行态读数据库不也挺好,为什么要引入配置中心呢?
  10. 再举一个例子,比如说有多个部门,不同的部门存的数据格式都不一样,管理的服务也不一样,他们有一些数据可能相互需要,这时候,你觉得用配置中心能解决这个问题吗?
  11. 服务 A 的数据库改了,服务 B 怎么办?这个配置需要多个部门同时使用,所以这个变动别人需要感知到。各个部门都维护一套数据库,相互调用接口这个方案好,还是都存到一个配置中心,大家互相拉取好?说一下优缺点?
  12. 在 Java 中,有 hashCode() 方法和 equals() 方法,当我定义一个对象时,为什么有时候要重写这两个方法?什么时候需要重写这两个方法?
  13. 你了解函数式接口吗?他有什么作用?解决了什么样的问题?
  14. Lambda 表达式解决了什么问题?临时的什么对象?为什么创建了这个对象就可以解决问题?这个对象有什么特点?如果没有 Lambda 你怎么做呢?Lambda 写的那个表达式是干什么用的?Lambda 表达式真正的好处在哪?
  15. 函数式接口有什么好处?你知道 Java 里面默认的函数式接口有哪些?你用过什么方法里面,会用到函数式接口作为参数?
  16. 用了 Comparable 接口的排序方法和没用 Comparable 接口的排序方法有什么优点呢?
  17. 记事本写代码,LeetCode 75 颜色分类

反问:

  1. iCode 是自研的还是基于 GitLab 改造的?
  2. 用什么技术栈?用微服务吗?
  3. 平常上下班时间?
  4. 有新产品在开发吗?

面试官没有开摄像头,周围环境比较嘈杂,在我自我介绍完之后,问我本科是哪里的,我不好意思的说出了学校之后,面试官问我有考研的打算吗,我回答了没有。这一面感觉压力十足,面试官应该是一个 Team Leader,总是抓着一个点往下延伸,问到不会为止,也不怎么问八股文,问你一个知识没答上来,面试官会从头开始问,逐步引导,但是总给人一种咄咄逼人的感觉,面试体验比较差,面完第二天就简历共享了。

#百度##面经##校招##基础架构工程师#
全部评论
多线程实质??
点赞 回复 分享
发布于 2021-09-06 21:28
21题那个redis锁怎么回答
点赞 回复 分享
发布于 2021-09-08 18:20

相关推荐

Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
评论
8
55
分享
牛客网
牛客企业服务