(2024.11.08) Java 开发面试中遇到逻辑题和算法题

116 阅读1分钟

0. 自我反省

这周面完一些公司,觉得自己还是太菜了。

  • 八股掌握的不深 (比如 MySQL 的索引、优化),一些基础的东西也忘了 (比如 MySQL 的数据类型)。
  • 项目也没有挖掘出足够好的亮点。

程序员面试,菜就是原罪,还得多练啊。

卷起来!妈的。

1. 逻辑题一:赛跑比出前三名

25 个人,5 条赛道 (每条赛道同时只能容纳一个人),没有计时工具,只通过观察,最少比几次就能得出前 3 名。

2. 逻辑题二:找出质量异常的小球

12 个小球,有 1 个质量异常,如何仅用 3 次天平就找到这个小球。

3. 算法题

编写一个方法,输入一个 int 数组,返回 “它左边的元素都小于它,它右边的元素都大于它” 的元素的索引。要求时间复杂度为 O(n)

  • 如 输入 [0, 2, 1, 1, 3, 5] 数组,返回符合条件的元素的索引: [0, 4, 5]