当前位置: 首页 > 面试经验 >

饿了么一面凉经-2024-03-29

优质
小牛编辑
74浏览
2024-03-29

饿了么一面凉经-2024-03-29

C++选手硬着头皮投了Java岗,奇怪的是还过筛了,然后就被拷打了。

  • 自我介绍
  • 为什么考虑跨专业?
  • 面试官说他们是做 Java 的,但是看我并没有相关的经历,问我投递的时候方向是自己选的吗?(这个时候大概知道是寄了)
  • 项目介绍
  • select 语句的查询过程中是否有优化的规则?(扯了 MySQL 的基于规则的优化)
  • 火山模型,优点缺点等(这里踩坑了,还提了一嘴物化模型,然后扯了一下)
  • 2 核 4G 电脑,在火山模型大概能承载的数据计算量或内存的计算量大概是多少?(不会)
  • 字符类型和数字类型在内存中占用是多少(不知道为啥问这个?)
  • 为什么需要做缓冲池,如果不做缓冲池的话缺点是什么?
  • 是否有做过实际的测试,缓冲池的命中率有多少?(无,根本没这部分内容)
  • 磁盘的扫描算法(不会,说了顺序扫描、电梯算法)
  • 追问:电梯算法具体说一下(这里开始瞎扯,被面试官拷打)
  • 读写锁是怎么用的?它的实现原理是什么?(没了解过,不会)
  • B+ 树和 B 树区别
  • 什么数据库适合用 B+ 树作为索引、什么数据库采用 B 树作为索引
  • 问第二个项目的项目收获(这块的话,没答好,应该多说一些拓展的)
  • 进程间通信如何实现的(7 种都答了,感觉是可以介绍一下每种方式的一个优缺点)
  • 总线模型是否了解?(不会)
  • 进程和线程之间的区别(答的一般,有些忘记了)
  • 一个进程有 10 个线程,每个线程会每 1s 会随机睡眠 0.5s - 1s,这个时候在 CPU 当中的一个运行过程是什么样子的?(有点懵)
  • CPU 时间片运行的计算量和上下文切换的瓶颈大概是在哪里?(不会)
  • 然后举个例子:10 个线程执行 100 个任务,和 100 个线程执行 100 个任务,哪个效率高?或者说是什么情况下用 10 个线程效率高,什么情况用 100 个线程效率高?(IO 密集型和 CPU 密集型)
  • 栈、队列、二叉树的实现过程,它们的使用场景(简历上写的,突然这么一问,答的不太行)
  • 介绍一下红黑树,以及查找过程(上面说二叉树应用场景提了一下,又踩坑了)
  • 红黑树插入一个数据,旋转逻辑是什么?(直接说不会)
  • MySQL 如何对数据进行一个恢复的?
  • 脏读和幻读
  • MySQL 存储引擎有哪些? InnoDB 和 MyISAM 对事务的支持?
  • 数据的范式(答了三大范式)
  • 大部分场景不遵循范式,如何考虑的?(不太会了)
  • 范式可能更多的是对主键、唯一索引以及外键进行一个约束,什么情况下需要这些约束,什么情况下不需要?(跪了,不会)
  • 问了个人情况的一些情况,无手撕算法,估计是觉得我技术能力不够

复盘了一下,这个面试官经验很丰富,数据库一些实际场景基本上没接触过,然后还问了很偏门的磁盘调度算法、总线、读写锁的原理,就是在回答的过程当中提到的一些技术内容,尽量不要给自己挖坑,面试官会一直细问。现在看了挂了也很正常,面试官问了一些实际的性能测试相关内容,以及一些技术的业界实现,答的都不太好。

 类似资料: