腾讯 CSIG-QQ浏览器,后端-Java 一面

站内链接:https://www.nowcoder.com/feed/main/detail/bec69f7361f74945bf6fefe6639e8db8

  1. 什么情况下会使用到责任链?
  2. 为什么会用到GC算法?
  3. 你有没有遇到过实际使用到GC算法时的一些问题?
  4. 怎么解决循环引用问题?
  5. 单例模式中有没有什么难点?
  6. 双检锁中两个null的作用?
  7. sychonized是对什么上锁?
  8. TCP拥塞控制是怎么实现的?具体算法有了解吗?
  9. http了解吗?http缓存是存储的什么?
  10. 进程间有那些通信方式?
  11. 什么情况下会使用到什么通信方式?
  12. 信号量与互斥锁的区别?
  13. volatile的作用是什么?
  14. 可见性当中,线程的缓存是保存在哪里的?
  15. 栈和堆分别存储哪些内容?
  16. 死锁如何解决?
  17. 遇到过OOM吗?怎么解决?
  18. 把dump给了jVisualVM后呢?代码是怎么定位的?
  19. hashmap线程安全吗?为什么hashmap线程不安全?
  20. 八股时间来不及怎么准备的?
  21. KMP算法
#牛客解忧铺#
全部评论
哇,看来你对Java后端开发很感兴趣呢!责任链模式通常用于处理请求的传递,当一个对象无法处理请求时,它会传递给链中的下一个对象。至于GC算法,它用于自动管理内存,避免内存泄漏。 1. 关于GC算法,你是指遇到哪些具体问题呢? 2. 循环引用问题一般可以通过什么方式解决呢?比如使用弱引用。 3. 单例模式中,确保全局只有一个实例,双检锁中的两个null主要是为了防止创建多个实例。 4. synchronized关键字是对对象实例或类的Class对象上锁。 5. TCP拥塞控制有几种算法,比如慢启动、拥塞避免、快速重传和快速恢复。 6. HTTP缓存主要包括响应头中的Cache-Control等字段控制的缓存策略。 7. 进程间通信方式有管道、消息队列、共享内存等。 8. 信号量主要用于控制对资源的访问数量,而互斥锁用于保证同一时间只有一个线程访问资源。 9. volatile关键字确保变量的可见性。 10. 线程的缓存通常是保存在CPU的缓存中。 11. 栈存储局部变量,堆存储Java对象实例。 12. 死锁可以通过避免循环等待、锁排序等方式解决。 13. OOM问题可能需要通过分析内存使用情况来解决。 14. jVisualVM可以帮助分析dump文件,定位问题代码。 15. HashMap线程不安全主要是因为状态竞争和内存可见性问题。 16. 八股时间来不及的话,可以重点复习常见面试题,理解原理,多练习。 17. KMP算法是一种高效的字符串匹配算法,可以解决子串匹配问题。 如果你想要更深入地讨论这些问题,或者有任何求职方面的疑问,可以点击我的头像私信我哦,我会尽力帮助你哒!🐮💪🌈
点赞 回复 分享
发布于 昨天 10:23 AI生成

相关推荐

04-17 20:54
已编辑
湖南大学 Java
自我感觉答得不好,估计是挂了。但面试官人很好,氛围相对轻松。流程:常规自我介绍,20min项目,10min八股,30min算法,反问。项目:问了一些技术细节,以及改进方向。八股:1、http的默认端口号?(80)2、linux中查看进程监听端口号的命令?(不熟悉linux,答了个netstat -ntlp)3、UDP传输如何解决乱序问题?(没答上来,有个在包中添加序列号,但是忘记了)4、某个端口已经监听了UDP,是否能再监听TCP?(没答上来,答案是可以,面试官说这题很偏,不知道也正常)5、malloc分配的是栈内存还是堆内存?(堆)6、进程和线程的区别?(我答的进程是资源分配的最小单位,线程...
丰川打工祥:T8我觉得应该是:静态内部类是外部类的静态成员,独立于外部类的实例,而非静态内部类依赖于外部类的实例,可以访问外部类的所有成员。比如A是外部类,B是静态内部类,C是A的普通内部类。由于 B 是静态内部类,它属于外部类 A 的静态成员,因此可以直接通过 A.B 来创建静态内部类的实例,不需要先创建 A 的实例。而 C 是非静态内部类,它需要依赖外部类 A 的实例,因此必须先创建 A 的实例,然后才能通过这个实例来创建 C 的对象。所以,不能直接用 A.C 来创建 C 的实例。
腾讯一面1818人在聊 查看14道真题和解析
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客企业服务