腾讯【CDG广告】后端开发实习一、二面面经和参考答案

之前的一篇抖音的秋招面试经历的链接在这,需要的同学点击传送门:https://www.nowcoder.com/discuss/834599?source_id=profile_create_nctrack&channel=-1

1. 前言

2021年4月面的腾讯cdg的实习,一、二面面经一起总结在一起了,这个部门和大数据联系比较紧密,技术栈是Java和Scala这些。我只会Java,所以面经相关的问题也都是Java的。

总体来说二面的八股文比较常规,但一面有点难,这确实和面试官有关系。

2. 面经问题汇总

2.1 八股文

  • 常规(基本都是二面问的)
    • 1 死锁产生的条件是什么?
    • 2 TCP/IP 三次四次。
    • 3 JVM内存结构讲讲
    • 4 Java的锁有哪些,尽可能说你知道的就行。
    • 5 sychronized和Lock锁的区别,承接上一个问题。
    • 6 TreadLocal 是干啥的?能否简单讲一下?
    • 7 outterJoin和InnerJoin的区别?
    • 8 简历里写了了解设计模式,你是如何理解设计模式的?
  • 进阶
    • 9 要给很多学生的高考成绩进行排序,用什么算法?
    • 10 如果一个后台的服务跑着跑着挂了,你觉得是什么原因?

2.2 算法题

  • 11 二叉树的Morris遍历(一面)
  • 12 n个一组反转链表(一面)
  • 13 字符串转整数(二面)

3. 答案

3.1 八股文答案

1 死锁产生的条件是什么?

图片说明

2 TCP/IP 三次握手四次挥手

三次握手:客户端的连接请求:首先客户端发送一个带 SYN 标志位的连接请求到服务器,客户端进入 SYN-SENT 状态。
服务端的连接确认请求:服务器收到之后回复一个 SYN 和 ACK 的确认报文到客户端,此时服务端进入 SYN-RECV 状态,等待第三次握手。
客户端的连接确认请求:客户端接收到确认报文后,向服务端再次发出带 ACK 的确认报文,后客户端这边连接建立,服务端收到客户端的第三次确认报文后,连接建立。

为什么要三次握手?从第一个角度。通信是双方的行为,双方都需要确认四件事,自身的接收发送是否正常以及对方的接收发送是否正常。如果仅两次的话,服务端是没有办法确认自己发送和对方接收是否正常的,不是可靠的连接。从第二个角度。也可以防止失效连接到达服务器后重新打开连接。客户端发送的请求如果阻塞。那么客户端等待一个超时重传时间以后,会重发一个连接请求。假设这个来迟滞留的请求最终到达了服务器,如果不三次握手的话,服务器就会打开两个连接。如果有第三次握手,客户端就会忽略掉服务器之后的连接确认请求。

四次挥手:客户端发送一个带 FIN 标志位的关闭连接请求,此时客户端进入 FIN - WAIT - 1 阶段。服务器收到该请求后,返回一个 ACK。客户端收到 ACK 之后,进入 FIN - WAIT - 2 阶段,此时处于半关闭状态,服务器能给客户端发消息,但客户端不能给服务器发消息。当服务器把剩下的消息发完之后,会发送一个 带 FIN 标志位的关闭连接请求给客户端。客户端收到该请求后,发出 ACK 确认,并进入最后的 TIME - WAIT 状态,等待 2MSL(最大报文存活时间) 后释放连接。B 收到确认后,释放连接。

为什么要四次挥手?服务端在收到客户端的 FIN 报文后,仅表示客户端不在发送数据了,但客户端还可以接,而服务端也不是说数据都发完了,所以服务端可以立即关闭,也可以再发送一段时间的数据后再发送 FIN 报文给客户端表示同意关闭。因此服务端的 ACK 和 FIN 标志位会分开发送,在 ACK 和 FIN 之间可能还会给客户端传数据,导致多了一次。

3 JVM内存结构讲讲

分两块儿讲,线程共有的和线程私有的来讲。

  • 线程私有
    • 程序计数器
    • 虚拟机栈
    • 本地方法栈
  • 线程共有
    • 堆空间
    • 方法区
    • 直接内存

4 Java的锁有哪些,尽可能说你知道的就行

说了只了解sychronized和lock锁

5 sychronized和Lock锁的区别,承接上一个问题。

图片说明

6 TreadLocal 是干啥的?能否简单讲一下?

图片说明

我总结的文档,面试不用说这么多,点出ThreadLocal是如何实现的就行了:http://note.youdao.com/noteshare?id=29ffa7b20e697cb2408451db7a03bda4&sub=DE005AAA30264B79801683634B134EA4

7 outterJoin和InnerJoin的区别?

图片说明

8 简历里写了了解设计模式,你是如何理解设计模式的?

推荐大家去看一下《Head First 设计模式》的一些内容,不要把中间的引导语忽略,我就是看着引导语才有一种醍醐灌顶的感觉。
我当时的回答是这样的:设计模式其实就是为了把代码中变化的部分和不变的部分给尽可能的剥离开,使得代码的可维护性大大增强。总的来说就是:程序设计的三大原则是最终的目的!设计模式是方法论!继承、多态是实现的基础!

9 要给很多学生的高考成绩进行排序,用什么算法?

桶排序。

10 如果一个后台的服务跑着跑着挂了,你觉得是什么原因?

之前看到过一个很好的思路,从大到小的去找。

  • 网络原因(机房抖动)
  • 机器层面
    • 宿主机问题(硬件上的问题)
    • 虚拟机问题(cpu打满、内存打满、IO过高假死)
    • 中间件问题(Redis击穿了,Kafka废了)
  • 下游服务挂了

3.2 算法题

11 二叉树的Morris遍历(一面)

会有这种遍历方法是我万万没想到的,我觉得这不用死记硬背,能看懂答案,说出思路就可以了。。感觉也不会有太多面试官会考这个遍历方法的。

12 n个一组反转链表(一面)

必刷题,不啰嗦了。

13 字符串转整数(二面)

比较简单,不啰嗦了。

#实习经验分享##实习##春招##腾讯##秋招#
全部评论
morris遍历好像还挺重要的
2
送花
回复
分享
发布于 2022-02-08 01:26
有答案我没写明白的可以在评论区一起讨论哈
点赞
送花
回复
分享
发布于 2022-02-08 00:17
秋招专场
校招火热招聘中
官网直投
感谢分享
点赞
送花
回复
分享
发布于 2022-02-08 08:24
面试官问项目经历了吗?
点赞
送花
回复
分享
发布于 2022-02-08 10:05
牛啊牛啊,太强了呀!
点赞
送花
回复
分享
发布于 2022-02-08 12:43
🎉恭喜牛友成功参与 【实习经验分享】活动! ------------------- 分享你的实习面经,进行复盘和总结,为大家助力春招!参与即有奖~ 👉快来参加:https://www.nowcoder.com/discuss/832274
点赞
送花
回复
分享
发布于 2022-02-08 15:20
请问用的什么做的思维导图笔记呀
点赞
送花
回复
分享
发布于 2022-02-08 15:39
请问楼主这个部门有转正机会吗?
点赞
送花
回复
分享
发布于 2022-02-08 17:12
bd
点赞
送花
回复
分享
发布于 2022-02-08 18:08
想问问楼主,面试算法的话是用什么写,记事本吗,还是给指定用什么平台,还是只需要说思路😥
点赞
送花
回复
分享
发布于 2022-02-10 17:42
总结很不错
点赞
送花
回复
分享
发布于 2022-02-14 08:56
谢谢分享
点赞
送花
回复
分享
发布于 2022-02-14 23:00
楼主是真的会学习,学习方法学习了想问楼主个问题,可以稍微说下中金的笔面试吗
点赞
送花
回复
分享
发布于 2022-02-20 20:51
感谢分享,支持大佬
点赞
送花
回复
分享
发布于 2022-03-07 11:19
大佬,是base哪里的啊?cdg广告后端进去是给内部人员做开发平台的吗?
点赞
送花
回复
分享
发布于 2022-03-13 17:55

相关推荐

一面(1)死锁的两种原因(2)模型量化的方式,我说kv cache和参数量化,面试官问量化是怎么提高推理加速的效率,我答不太上来(3)transformer自注意力层的时间复杂度(4)stack和dequeue的区别(5)算法题:有效ip地址一面面试官是我遇到最善良的面试官,他对跨专业同学的包容性大到难以置信。也很感谢他的宽容和鼓励。最后反问环节,他跟我举了jieba分词的例子,鼓励我要多看代码,掌握好基础知识,很多时候实际应用就是利用大量基础知识来展开实现的。很可惜,他base北京,最终要去的是深圳,没办法找他当我mentor二面印象最深刻的问题是知识蒸馏技术路线。当时我介绍自己的项目,项目是关于bert模型知识蒸馏的。这个项目本身是偏指标驱动的,只要达到一定加速比/参数压缩比和一定范围内的精度损失即可。而面试官则提问我是否有做过文献和技术路线的调研,这部分我没答太好。幸好后面讲自己的工作就比较顺利了。算法题是字节经典题目“螺母螺栓匹配次数计算”,有兴趣的同学可以去查查。至于有没有问八股我记不太清了三面以后的规划、以前项目遇到什么难点+如何解决hr面论文等级、几作、贡献是什么;用几个词评价自己;为了面试做了什么准备;对面试岗位的理解;简单介绍自己的项目;能实习多久;研究生成绩怎样(因为我是转专业的学生,所以hr可能比较关心) #腾讯# #机器学习# #cdg# #算法#
查看15道真题和解析
点赞 评论 收藏
转发
43 239 评论
分享
牛客网
牛客企业服务