商汤科技java开发现场面试

  1. redis的并发竞争问题如何解决?
  2. ThreadPoolExcutor的源码看过吗? 没有特别仔细的看,但是他的原理是巴拉巴拉
  3. 简单说一下堆和栈的区别?
  4. MYSQL优化方案有哪些?
  5. CMS在并发标记的时候,用户线程也会不停的产生一些大对象,Remark再次标记的时候可能会花上很多时间,说说你的优化方案?(我:???)
  6. 集群和负载均衡的算法与实现?
  7. static类型、final类型
  8. MYSQL中主键与唯一索引的区别
  9. 说一下CMS垃圾回收器和G1收集器的特点,和收集过程。
  10. MySQL 的索引?B+树的结构介绍下?B+树与B树有什么优势?
  11. 说一说redis数据淘汰机制
  12. mysql底层数据结构
  13. 如果说有一个操作需要创建一个对象,这个对象很大,需要消耗很多资源,如果说每调用一次方法就创建一个对象的话,开销太大,如果把它定义成一个静态变量,又会产生并发问题,那么多线程并发操作的时候就需要加锁,降低效率。怎么优化才能既不用加锁又能提高并发访问的效率?
  14. java 存在内存泄露吗? 如存在,请举例说明什么情况下会发生泄露。
  15. 单点登录,多服务器如何保证数据一致性?
  16. listener是监听哪个事件?
  17. 线程池参数,什么情况下会达到最大线程数
  18. 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少
  19. java中多线程机制,实现多线程的两种方式(继承Thread类和实现Runnable接口)的区别和联系
  20. java又是怎么保证线程同步(安全)的呢
  21. MQ 架构对比
  22. Myql中的事务回滚机制概述
  23. MySQL的索引,为什么是B+而不是平衡二叉树
  24. 数据库的事务隔离知道吗?

编程题

  • 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
  • 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

示例 1:

输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

示例 2:

输入:nums = [0]
输出:[[],[0]]