3.18腾讯光子后台开发二面(暑期实习)

3.16号一面 https://www.nowcoder.com/discuss/632325?type=all&order=time&pos=&page=1&channel=-1&source_id=search_all_nctrack

3.18号二面电话面试,20分钟就结束了,让我再好好准备一下😂😂。(已凉)
下面一些问题的回答,只是个人见解,不一定是对的,仅供参考,欢迎大家指正。


  1. Java虚拟机的GC原理
  2. 说说可达性分析法
  3. 哪些对象可以作为GC root

    1.虚拟机栈中引用的对象
    2.方法区中静态属性引用的对象
    3.方法区中常量引用的对象
    4.本地方法栈中JNI(即Native方法)引用的对象

  4. 弱引用是用来干的

    缓存和防止内存泄漏。像ThreadLocal中,获取到线程私有对象是通过线程持有的一个threadLocalMap,然后传入ThreadLocal当做key获取到对象的,这时候就有个问题,如果你在使用完ThreadLocal之后,将其置为null,这时候这个对象并不能被回收,因为他还有 ThreadLocalMap->entry->key的引用,直到该线程被销毁,但是这个线程很可能会被放到线程池中不会被销毁,这就产生了内存泄露,jdk是通过弱引用来解决的这个问题的,entry中对key的引用是弱引用,当你取消了ThreadLocal的强引用之后,他就只剩下一个弱引用了,所以也会被回收。

  5. 如果让你自己实现一个线程池,你怎么控制这个线程的并发数

    正确答案:https://blog.csdn.net/manzhizhen/article/details/81413014
    下面回答是如何自己实现一个线程池,面试的时候回答有点偏了
    1.要定义一个存放所有线程的集合
    2.每有一个任务分配给线程池,我们就从线程池中分配一个线程处理它
    3.当线程池中的线程都在运行状态,没有空闲线程时,我们还需要一个队列来存储提交给线程池的任务。

  6. 乐观锁是什么?

    乐观锁(compare and swap)假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测。CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。

  7. CAS的缺点

    1.CPU开销较大
    2.不能保证代码块的原子性
    3.ABA问题

  8. Java里面怎么实现(调用)一个乐观锁

    java.util.concurrent包 (J.U.C)就是建立在CAS之上的,其中提供了AtomicInteger,AtomicBoolean,AtomicLong等

  9. 哈希冲突一般怎么解决
  10. 拉链法如果重复的比较多的时候,性能下降很厉害,怎么办?
  11. 红黑树和平衡二叉树有什么区别?

    AVL 树比红黑树更加平衡,但AVL树在插入和删除的时候也会存在大量的旋转操作。所以当你的应用涉及到频繁的插入和删除操作,切记放弃AVL树,选择性能更好的红黑树;当然,如果你的应用中涉及的插入和删除操作并不频繁,而是查找操作相对更频繁,那么就优先选择 AVL 树进行实现。

  12. 平衡二叉树和红黑树旋转次数比较

    https://blog.csdn.net/z702143700/article/details/49079107
    平衡二叉树:插入最多一次旋转,删除最多logN次
    红黑树:插入最多二次,删除最多三次

  13. 一致性哈希知道吗

    将请求均匀地分配到应用服务器上;确保同样的用户总是访问同一个服务器等。

  14. TCP 里面的time_wait和time_close的状态
  15. 这个状态保持多长时间

    2MSL

  16. 为什么是2MSL

    去向ACK消息最大存活时间(MSL) + 来向FIN消息的最大存活时间(MSL)

  17. 一个 32 位的JVM可以管理多大内存

    简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB。

  18. 跳跃表这种数据结构了解吗,时间复杂度
  19. 跳跃表用在什么地方

    应用场景:节点增加和更新比较少,查询频次较多的情况。
    产品:Lucene,,elasticSearch,Redis。

  20. 为什么redis中用跳跃表不用红黑树?

    https://www.cnblogs.com/cjjjj/p/12751487.html

  21. 数据库有慢查询如何去定位
  22. 为什么加索引可以加快查询速度
  23. b+树和红黑树有什么区别
  24. 一个三层的B+树大概能存多少条记录

    https://blog.csdn.net/qq_35590091/article/details/107361172

  25. 一个进程 fork 出一个子进程,内存占用会不会翻倍

    https://blog.csdn.net/frank_jb/article/details/90701410

#实习##面经##腾讯##Java#
全部评论
点赞 回复
分享
发布于 2021-04-05 16:30
楼主你的二面的这些回答是当时面试的时候答出来的还是后来回顾的时候总结出来的,我也是今天下午的腾讯二面电话面,感觉你回答的已经挺多了呀
点赞 回复
分享
发布于 2021-04-06 11:15
博乐游戏
校招火热招聘中
官网直投
请问楼主现在到hr面了吗
点赞 回复
分享
发布于 2021-04-11 14:50

相关推荐

7 54 评论
分享
牛客网
牛客企业服务