腾讯 运营开发 暑期实习面经(已offer)

hr下午刚加微信,发个面经攒攒人品,许愿offer
部门:ieg

3.27一面
1. 做题,第一题不太好描述,不太难;第二题计算日期差
2. 聊参与开发的实际项目
3. spring security,RBAC
4. 索引是什么,为什么能加快查询速度,索引的缺点
5. 聚簇索引和非聚簇索引
6. 什么时候开始学后端的
7. git rebase 知道吗
8. redis 持久化
9. redis 客户侧缓存了解吗(不了解,回答了 nacos 客户侧缓存)
10. 讲讲你的分布式项目
11. 场景:现在加一个需求,实现用户购买商品增加积分,付款的时候可以使用积分抵扣,怎么设计
12. 面试官看过我的博客,问了些博客上的问题
13. http 状态码,4xx 和 5xx 的区别
14. 除了大二下跟着导师做的项目和自己的分布式项目,有没有其他技术上的经历
15. 你是哪里人
16. 到岗时间,实习时间
面试官挺和善的,聊天形式面了一个半小时还要多一点

4.1二面
1. 自我介绍
2. 写题:最长重复子串和一道模拟,两题限时半小时
3. 介绍项目
4. 怎么理解单体和分布式微服务架构
5. mysql 默认的事务隔离级别是什么(RR)
6. RR 解决了脏读和幻读吗,为什么(MVCC、间隙锁和当前读问题)
7. 四种事务隔离级别
8. 怎么用 redis 的,怎么解决缓存击穿
9. redis 常用数据结构,你用到了哪些
10. docker 相关
11. 反问
写完题后主要在聊项目和在大二下组里打杂的经历,八股问的不多

4.7hr面
1. 自我介绍
2. 最有成就感的事
3. 优缺点
4. 职业规划
5. 打算毕业工作还是考研
6. 偏向在哪工作
7. 老家哪的
8. 父母支持你的工作选择吗
9. 身体健康?
纯聊天,15 mins 左右
#暑期实习##腾讯##后端开发#
全部评论
老哥 hr 面后多久发的 offer
点赞 回复 分享
发布于 05-28 07:08 浙江
补充一下,一面是ld面,二面有两位面试官,应该是同事+gm一起面
点赞 回复 分享
发布于 05-02 16:35 福建
兄弟运营开发是干啥的呀
点赞 回复 分享
发布于 04-28 18:59 四川
佬oc了嘛
点赞 回复 分享
发布于 04-14 21:14 江苏
运营开发是不是用python和shell啊
点赞 回复 分享
发布于 04-11 10:28 香港

相关推荐

05-10 00:10
中山大学 golang
发面经许愿过自我介绍进程和线程的区别?为什么线程会比线程快?进程中哪些资源是不共享的?共享的呢?线程中哪些资源是不共享的?共享的呢?为什么堆不共享,讲一下堆不共享的情况?协程知道吗?现在有100个进程,一个进程有10个线程,那么如果方法栈不共享的话是不是会有1000个方法栈,从协程的角度讲一下会有这种情况吗?讲一下为什么要三握手?http2.0和3.0的区别?http2.0和1.0的区别?讲一下Java目前版本的GC的一个过程?Redis和Mysql的区别?Redis是怎么更新的?Redis的数据如果删除失败了怎么解决?(从流程上解决)慢查询怎么找?讲一下之前实习的查询优化怎么实现的?讲一下具体怎么找到慢查询的?RESTFUL API的特点?(回答了域名是什么样的就写了什么)1t个整型数据怎么找中位数?(提示从快排的角度)算法题:LRU连续子数和答案:### **1. 进程和线程的区别?**进程是系统资源分配的最小单位,而线程是程序执行的最小单位。一个进程可以包含多个线程,线程之间共享进程的资源,比如内存空间、文件描述符等,而不同进程之间资源隔离,通信需要通过进程间通信机制。---### **2. 为什么线程会比进程快?**因为线程间切换的开销小,共享资源多,比如内存空间无需重新分配,而进程切换涉及到上下文切换、内存空间的重新加载等,代价更大。---### **3. 进程中哪些资源是不共享的?共享的呢?**不共享的有:内存地址空间、堆栈、全局变量等。共享的有:代码段、只读数据段、内核资源(如打开的文件、信号处理器)。---### **4. 线程中哪些资源是不共享的?共享的呢?**不共享的有:线程自己的栈空间、程序计数器、寄存器上下文。共享的有:进程的内存空间、文件描述符、全局变量、静态变量等。---### **5. 为什么堆不共享,讲一下堆不共享的情况?**其实堆在**线程间是共享的**,因为多个线程可以访问进程的堆区数据。但在**多进程中堆是不共享的**,每个进程有独立的虚拟地址空间,堆也各自分配,不会共享,除非通过共享内存机制显式实现。---### **6. 协程知道吗?**协程是一种用户态的轻量级线程,不依赖操作系统调度,由用户控制上下文切换。相比线程更轻,适用于大量并发但不需要多核并行的场景,比如高并发 IO 操作。---### **7. 有100个进程,每个进程10个线程,如果方法栈不共享,是不是有1000个方法栈?从协程角度讲有这种情况吗?**是的,如果线程不共享栈,那么确实会有1000个独立的栈。协程也是一样,每个协程也需要单独的栈空间,尽管更小,常见是几 KB,所以如果用协程实现相同数量,也会有近似数量的栈,只是代价更小。---### **8. 为什么要三次握手?**三次握手是为了确保双方都有收发能力:- 第一次客户端发起连接(SYN),- 第二次服务端确认并回应(SYN+ACK),- 第三次客户端再确认(ACK)。        如果没有第三次,服务端无法确认客户端是否能正常接收数据。    ---### **9. HTTP2.0和3.0的区别?**HTTP/2 使用 TCP,多路复用减少了 TCP 连接数,但仍受 TCP 队头阻塞影响;HTTP/3 基于 QUIC 协议,使用 UDP,解决了 TCP 队头阻塞问题,同时提升了连接恢复和握手效率。---### **10. HTTP2.0和1.0的区别?**HTTP/1.0 每次请求都要新建连接;HTTP/2 引入了多路复用、头部压缩、服务器推送等特性,提高了性能,且可以复用同一个 TCP 连接处理多个请求。---### **11. Java 当前版本的 GC 过程?**以 G1 GC 为例,它将堆划分为多个 Region,分代管理。先在年轻代进行 Minor GC,把对象晋升到老年代;当老年代空间不足时进行 Mixed GC,回收部分老年代;G1 的目标是低延迟,使用并发标记、并发清理等方式减少 STW 时间。---### **12. Redis 和 MySQL 的区别?**Redis 是内存数据库,读写速度快,适合缓存、排行榜等场景;MySQL 是磁盘数据库,支持复杂查询、事务等,适合数据存储场景。Redis 通常作为 MySQL 的补充,不是替代。---### **13. Redis 是怎么更新的?**通常使用 **写穿** 或 **写回** 策略。- 写穿是:写数据库后,主动更新或删除 Redis 缓存;- 写回是:先写 Redis,异步同步到数据库(一般需要消息队列保证最终一致性)。---### **14. Redis 的数据如果删除失败了怎么解决?(从流程上解决)**可以用 **延迟双删策略**:第一次删除 Redis 缓存 → 更新数据库 → 延迟一段时间后再次删除 Redis,防止并发请求中缓存被旧数据污染。同时可以通过消息队列或异步任务补偿失败的缓存删除。---### **15. 慢查询怎么找?**- 对 MySQL,可以开启 `slow_query_log`,设定阈值,日志中就能找到执行时间较长的 SQL。- 也可以用 `EXPLAIN` 或 `SHOW PROFILE` 分析执行计划,找出瓶颈。- 在 Redis 中可以使用慢查询日志 `slowlog` 命令查看。---### **16. 实习中查询优化怎么实现的?**我通过 SQL 优化 + 索引优化 + 缓存设计三方面入手:比如原来使用 `LIKE '%keyword%'` 模糊查询,改为分词索引提高命中;并对常用查询加入缓存,如 Redis + 本地缓存双层缓存机制。---### **17. 具体怎么找到慢查询的?**在 MySQL 中打开 `slow_query_log`,通过 `mysqldumpslow` 工具整理日志;配合监控工具(如阿里云 DMS、Prometheus + Grafana)定位慢 SQL,再用 `EXPLAIN` 看是否走索引,有没有全表扫描。---### **18. RESTful API 的特点?**- 使用统一的 URI 命名资源(如 `/users/123`);- 使用 HTTP 方法表达行为(GET、POST、PUT、DELETE);- 无状态性,服务端不存客户端状态;- 可缓存,提高性能;- 结构清晰,易于维护和扩展。---### **19. 1TB 整型数据怎么找中位数?(提示快排)**1TB 数据无法一次性放进内存。可以使用**外部排序算法**,或者基于**快速选择算法(QuickSelect)**的思想,通过分区,把比 pivot 小和大的数分别归类,类似快排的 partition 过程,只递归中位数所在的分区,直到找到目标位置。时间复杂度期望是 O(n)。
查看22道真题和解析
点赞 评论 收藏
分享
评论
10
26
分享

创作者周榜

更多
牛客网
牛客企业服务