商汤科技服务端开发一面面经

  1. 设计一个短链接生成系统?数据如何存储?高并发如何处理?
  2. 集群和负载均衡的算法与实现?
  3. linux下的java进程和linux线程有一一对应的关系吗?为什么?
  4. 聚簇索引,聚集索引的区别?
  5. 给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?
  6. 介绍jmm,各个区的功能
  7. 数据库中一行记录大小10K,一个表只有主键索引,可以存多少条数据
  8. 新生代和老年代的回收算法(什么时候是标记清除,什么时候标记整理,什么是复制算法,各有什么优缺点)
  9. 线程池参数,什么情况下会达到最大线程数
  10. 假设有1000万身份证数据在一个txt文档里,怎么设计一个java项目可以每次获取某个身份证在不在这堆数据里
  11. HashMap 的结构?ConcurrentHashMap 读写加锁吗?
  12. 接口安全方面是怎么处理的?
  13. nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?
  14. 请说一个你在Hadoop中理解最为深刻的点,比如hdfs等
  15. InnoDB的4种事务隔离级别
  16. Cpu load的参数如果为4,描述一下现在系统处于什么情况
  17. SESSION 与 COOKIE 的区别是什么,请从协议,产生的原因与作用说明?
  18. 线程的状态
  19. GC停顿原因,如何降低停顿?
  20. java线程阻塞调用wait函数和sleep区别和联系,还有函数yield,notify等的作用。
  21. 说说堆里面的垃圾回收算法?为什么新生代用复制算法,老年代用标记整理、标记压缩?
  22. 简单阐述一下,什么是横向分表,什么是纵向分表,各有什么优缺点?
  23. 冒泡排序呢 冒泡的复杂度

编程题

  • 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

  • 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

示例 1:

输入: pattern = "abba", str = "dog cat cat dog"
输出: true

示例 2:

输入:pattern = "abba", str = "dog cat cat fish"
输出: false

示例 3:

输入: pattern = "aaaa", str = "dog cat cat dog"
输出: false

示例 4:

输入: pattern = "abba", str = "dog dog dog dog"
输出: false