发布于 

云智研发一面

10.16 云智研发一面

整个面试过程很符合我对腾讯的刻板印象,技术强,不开摄像头,全程毫无反馈,最后直接结束关闭腾讯会议,没有反问环节。

  1. 自我介绍;

  2. 手撕代码:输出数组中出现的编号,并且输出出现次数最多的那个编号。

  3. 为什么用HashMap来做呢?

  4. 有没有更好的方法来做?空间复杂度更低的。

  5. 你用数组下标表示编号确实可以,而且也更快,但是如果编号不是数字,而是字符串呢?

  6. JAVA虚拟机了解吗?你写的这些代码里哪些东西是在堆里?哪些是在栈里?

  7. 你写一段堆内存溢出的代码;

  8. 那你写一段栈内存溢出的代码;

  9. 如果现在一个线程递归调用100次会发生栈内存溢出,那么20个线程每个线程递归调用20次,会发生栈内存溢出吗?

  10. Synchronized了解吗?如果Synchronized加在静态同步方法上,锁住的是什么?

  11. HashMap的扩容你了解吗?扩容过程中原数组上的数据具体怎么迁移的呢?

  12. ArrayList的扩容机制呢?跟HashMap扩容机制有什么区别?

  13. 你说ArrayList的底层是数组,为什么ArrayList扩容的时候不直接在原数组后面开一块空间呢?用连起来就行?

  14. 数组在内存中是连续的吗?还是不连续的?

  15. 那你知道什么是物理内存和虚拟内存吗?

  16. 虚拟内存有什么好处?

  17. JAVA虚拟机操纵的是虚拟内存还是物理内存?

  18. 你写的堆内存溢出这段代码会发生垃圾回收吗?哪些东西会被回收?

  19. Redis的淘汰策略了解吗?

  20. 如果让你来写LRU,你会怎么来设计?

  21. 你提到了LinkedHashMap,那你知道LinkedHashMap的底层是怎么实现的吗?

  22. LinkedHashMap有什么优点呢?为什么要用这个来实现LRU?

  23. 那你说说LinkedHashMap中的get()方法怎么实现的;

  24. 了解快排吗?快排的时间复杂度和空间复杂度多少?说说快排为什么能这么快?

  25. 堆排序了解吗?如果我要找一个节点的子节点,该怎么做?

  26. 现在有一个表,有abcd四个字段,其中abc建立了联合索引,select a, c from T where a = 'tx' and c = 'csig';会走索引吗?为什么?

  27. select a, c from T where a = 'tx' and c = 'csig'select a, d from T where a = 'tx' and d = 'csig';哪个查询的效率更好?

  28. 统计表中a字段出现次数最多的元素。

    1
    2
    3
    4
    5
    SELECT a, COUNT(a) AS count_a
    FROM T
    GROUP BY a
    ORDER BY count_a DESC
    LIMIT 1;

本站由 Cccccpg 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。