金山办公服务端开发一面面经

  1. 为什么hashmap1.8后面用红黑树了?红黑树和别的树有什么不同
  2. Mysql要加上nextkey锁,语句该怎么写
  3. CAS和原子类的AutomicInterger
  4. Redis(String是如何插入到Redis)
  5. 线程池参数的解释,线程的状态,thread.yield()
  6. 冒泡、快速、归并排序算法的优缺点?
  7. Redis 数据结构有哪些?如何实现 sorted set?这种数据结构在极端情况下可能有什么问题?二叉平衡树?
  8. 数据库中存储密码是怎么存的(MD5加密),还知道其他加密方式吗
  9. HashMap和concurrentHashMap的区别从currentHashMap底层是用什么锁实现的(可重入锁)
  10. Linux的共享内存如何实现,大概说了一下。
  11. 一个程序在内存中都有哪些数据,哪些会占实际的内存
  12. 服务提供方不稳定,频繁变动如何提升自身稳定性
  13. 死锁形成的条件,该怎么解决
  14. 微服务架构:dubbo 和 springcloud 的区别,以及各自对应的使用场景。
  15. jdk有研究过吗?我:研究过一点hashmap。 那你说一下哈希碰撞怎么解决的?我:忘了,大概记得1.8之后是尾插。(好尴尬) 已知有100个元素,那么hashmap默认容量应该是多少?我:100/0.75=132 所以取2的指数幂256(不知道算对没)
  16. innDB 和 MyISAM 的区别?
  17. 节点个数是多少的时候,红黑树会退回链表。
  18. 写一段shell脚本实现备份mysql指定库(如test)到指定文件夹并打包,并删除30天前的备份,然后将新的备份推送到远端服务器,完成后送邮件通知。
  19. AtomicInteger实现原理(CAS自旋)
  20. 线程的状态
  21. 说说redis的缓存失效策略和主键失效机制
  22. 如何用工具分析jvm状态(visualVM看堆中对象的分配,对象间的引用、是否有内存泄漏,jstack看线程状态、是否死锁等等)
  23. n个整数,找出连续的m个数加和是最大
  24. 那知道跳表吗,跳表有哪些应用吗? 跳表是巴拉巴拉,但是应用没有去了解过哦 刚刚查了下 在redis当中有用到....果然框架这块还得好好补补
  25. 假如你是技术组长? 如何提高团队效率?
  26. 支付宝红包怎么实现?

编程题

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

示例 1:

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

示例 2:

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