58同城java工程师线上面试

  1. 流量控制算法了解吗?介绍下
  2. 数据库引擎有哪些 区别是什么?
  3. 讲讲动态规划和贪心算法
  4. 说说堆里面的垃圾回收算法?为什么新生代用复制算法,老年代用标记整理、标记压缩?
  5. mybatis的缓存说一下? 我:(wc怎么问这个???不问spring嘛)只听说过一级缓存和二级缓存。 MyBatis怎么防止sql注入? 我:参数前面用一个符号,我忘了。。
  6. 讲一下Hadoop和YARN中的任务调度算法和任务队列
  7. countdownlatch功能实现
  8. spring 事务
  9. 聚簇索引,聚集索引的区别?
  10. java又是怎么保证线程同步(安全)的呢
  11. InnoDB的4种事务隔离级别
  12. 聚集索引和非聚集索引的区别?
  13. Redis 如何实现持久化?
  14. 什么是事务?及其特性?
  15. 网络模型有哪些 分别有哪些协议?
  16. 多线程和高并发有什么区别
  17. 说说快排的具体算法 不用递归怎么做 快排的复杂度呢
  18. linux的分段有了解吗?
  19. 树的遍历方式有哪些?深度优先和广度优先了?
  20. nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?
  21. 支付宝红包怎么实现?

编程题

  • 给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

示例 1:

输入:nums = [3,0,1]
输出:2
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。

示例 2:

输入:nums = [0,1]
输出:2
解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。

示例 3:

输入:nums = [9,6,4,2,3,5,7,0,1]
输出:8
解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。8 是丢失的数字,因为它没有出现在 nums 中。

示例 4:

输入:nums = [0]
输出:1
解释:n = 1,因为有 1 个数字,所以所有的数字都在范围 [0,1] 内。1 是丢失的数字,因为它没有出现在 nums 中。