25年11月腾讯 Java实习 一面

#JAVA##JAVA面经##JAVA内推#

1、自我介绍

思路 学校+专业+技术栈+项目方向+个人特点+求职意向

回答示例

面试官您好,我叫XXX,是XX大学XX专业的学生。 主要技术栈是 Java、SpringBoot、MySQL、Redis、RabbitMQ、JVM、并发编程。 做过后台管理、即时通信、高并发相关项目,熟悉 Web 开发、消息队列、缓存、接口优化等。 我学习能力较强,喜欢钻研底层原理,做事踏实,希望能加入贵公司进行实习和成长。

2、项目背景、内容、难点、解决思路

思路 背景 → 功能 → 自己负责 → 2个难点+解决方案

回答示例

我做的是一个在线竞赛/在线聊天类项目(你可换成自己的)。 背景是为了实现用户实时通信、消息推送、在线答题、结果实时展示等功能。 项目内容包括用户登录认证、消息推送、业务接口、数据统计、后台管理等模块。 我主要负责后端接口、WebSocket、Redis 缓存、消息队列、数据库设计与优化。

项目难点:

  1. 高并发下消息推送延迟、连接不稳定 解决:使用 WebSocket 长连接,心跳保活,断线重连,Redis 集群做状态共享。
  2. 高并发写入导致数据库压力大 解决:异步化、MQ 削峰、Redis 缓存预减、读写分离。

最终系统稳定,消息实时性高,接口响应快,能支撑高并发场景。

3、介绍一下 WebSocket

思路 全双工、长连接、一次握手、服务端主动推送、对比 HTTP 轮询

回答示例

WebSocket 是一种全双工、长连接的网络通信协议,基于 TCP,运行在应用层。

  1. 客户端和服务端一次握手即可建立持久连接;
  2. 支持服务端主动向客户端推送数据,不用客户端轮询;
  3. 开销小、头部数据少、实时性高;
  4. 常用于聊天室、通知推送、实时数据大屏、在线游戏等场景。

对比 HTTP:HTTP 是被动请求-响应,不能主动推送;WebSocket 可以双向实时通信。

4、如何判断 HTTP 是长连接还是短连接?怎么设置长连接?

思路 看请求头 Connection: keep-alive / close,HTTP/1.1 默认长连接。

回答示例

判断方式: 看请求头和响应头里的 Connection 字段:

  • Connection: keep-alive长连接
  • Connection: close短连接

HTTP/1.1 默认长连接,HTTP/1.0 默认短连接。

设置长连接: 在请求头加上:

Connection: keep-alive

服务端也开启 keep-alive 支持,连接就会复用,不会立即断开。

5、JVM 垃圾回收机制,G1 比 CMS 优势在哪

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

全部评论
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏。 专栏目录https://www.nowcoder.com/share/jump/1772859327707
点赞 回复 分享
发布于 03-16 21:20 广东

相关推荐

评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务