拼多多 服务端开发实习 一面面经(C++) 3.30

楼主是科班双非本985硕。
  1. 打过招呼后首先让自我介绍,我把实验室的课题项目大概讲了下,讲完之后面试官问我还有补充的吗,本科的经历呢?我说本科因为考研所以做的都是小课设。
  2. 然后面试官就开始问项目了,我的项目是用机器学习算法预测集群负载,面试官问如何选择这些特征进行模型训练(我就说一开始还是就根据直觉选择比较重要的那几个性能指标,然后又说了其他几个特征)。然后问如何调整参数的:我说因为这个项目是和一个学硕的同学一起做的,调参这个我也不太懂,是他在进行的,我主要是建模,把阿里云开源的数据集预处理成一个个状态,作为时间序列来用于预测。
  3. 问到项目中的一个工具, 我解释了一下为什么用这个工具。还问到是否已经应用到实际环境中,如果应用到实际环境中,要怎样收集集群的状态来进行预测。还问了,集群状态由多个因素影响,如何分配各个因素的影响权重?我说主要还要看这个集群最终执行的任务大多是什么类型的,因为我们项目最终是应用于某个场景的,所以根据任务的类型来决定,是IO密集型还是计算密集型。
  4. 因为拼多多技术栈主要是JAVA,所以面试官就没问我C++语言的问题。问我MySQL索引是怎么实现的,我说只知道是B+树实现的,具体细节并不清楚;问知不知道Redis速度为什么快(不知道有没有记错)。问完面试官看我不太了解,我就解释了下项目没用到数据库,所以不太了解,面试官也就没有继续追问。
  5. 然后问数据结构,让我讲一下常见的数据结构,由易到难,我就从数组开始说:数组(讲了静态和动态数组)、栈(讲了递归、表达式求值)、队列(讲了消息队列)、堆(大小根,然后面试官问了下知道优先队列吗,我说底层应该也是堆实现的,然后不知道为啥没有继续追问)、二叉树(后面想了下应该说图和树的)。然后面试官补充说map,我说只知道底层是红黑树,具体太复杂不了解,只会用。然后面试官问了hash冲突怎么解决的,我说拉链法和开放定址法,面试官补充说其实map在hash冲突的时候用的拉链法是用的红黑树,因为很快。
  6. 问了动态链接和静态链接(我给忘了,就讲了下每个进程虚拟地址空间里边有个共享库区域,映射到模块的内存地址,还讲了下修改代码不需要重新编译整个工程)
  7. 问了计网,七层模型,让我从IP层开始讲,我忘了,后来经过提醒想起来IP层一些路由协议,讲了下路由的过程。问了TCP的连接与断连,以及断连后为什么要等待2MSL。问了浏览器访问一个网站这个过程发生的事情。顺势问到DNS服务器的结构。
  8. 还问了同步IO,异步IO,阻塞IO,非阻塞IO
  9. 算法题,有序的矩阵查找target(类似于二叉搜索树的解法);然后面试官想问我设计模式,我说不太懂,就让我口述下算法题了:判断链表是否有环(快慢指针);找到环的起点(这道只讲了下应该是根据快慢指针的步数可以得到某些信息,由此求解)
  10. 面试过程体验还是很好的,面试官很nice,会根据简历发问,面试过程中还给我提了学习建议。
#面试复盘##实习##C/C++#
全部评论
面试官说的是Java的map,,,C++STL的map底层是红黑树
1 回复 分享
发布于 2023-03-21 23:34 陕西
二面了吗请问😂
点赞 回复 分享
发布于 2022-04-11 19:57
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
点赞 回复 分享
发布于 2022-04-06 21:04
mysql索引是红黑树实现的???
点赞 回复 分享
发布于 2022-03-31 15:51

相关推荐

暑期实习 0 offer 怎么办?手撕题如何准备?手撕题对面试的影响大吗?场景题如何准备?提前批与秋招?……一文讲清楚1️⃣暑期实习与秋招,谁更难?很多同学都在纠结暑期实习和秋招的难度,其实两者难度相当,很难简单地说哪个更难。不过,我们更应该关注的是暑期实习对秋招的重要影响。2️⃣不同背景同学的秋招策略对于背景较好的同学,即使没有实习经历,在秋招中也有机会拿到华为、字节、拼多多、腾讯等大厂的不错 offer。但前提是得有两到三个项目经历,或者有已录用的论文(在投的论文也可)。面试时,考官会围绕项目和论文展开提问。对于背景一般的同学,建议最好有一段中小厂的实习经历。当然,没有实习经历也并非完全没机会拿下大厂 offer,只是面试过程会比较艰难,战线也会拉得很长。比如去年就有同学 0 实习去秋招,虽然最后也拿到了一些 offer,但面试过程真的非常痛苦。有实习经历的话,至少和面试官还能有更多可聊的内容。3️⃣手撕题:面试中的“硬骨头”手撕题是面试中的一大重点,主要考察数据结构(如链表、树等)和基础算法(如动态规划、回溯等)。考察形式主要有两种:一种是类似力扣的关键代码形式,只需要写出核心代码;另一种是 acm 形式,需要自己构造输入输出。如果对构造输入输出不太熟悉,可以在牛客网上进行专门的练习,过一遍就好。如何准备呢?刷 hot100 是个不错的选择,要着重理解,因为大多数手撕题都是原题或其变式。手撕题在面试中的占比有多大呢?这其实要看运气。有些同学在一面手撕题没做出来,却也通过了最终面试;而有些同学一面手撕题答得很完美,却没走到二面。个人认为,运气成分和综合素质也是关键因素,比如和面试官是否有眼缘,其他题答得是否满意等。4️⃣场景题:灵活应对是关键场景题没有固定的题库。面试中反问环节很重要,不要只是随便问一些无关紧要的问题。你可以问一些部门的业务方向、重点解决的问题以及涉及的技术栈等。这不仅能让你更好地了解部门,还能帮助你在后续的二面、三面中,对 leader 可能会问到的场景题有个预判。5️⃣提前批与秋招:抓住更多机会很多大厂在秋招时会有提前批,提前批的优势在于免笔试、流程减免,而且结果不影响正式批。这就相当于你有两次面试机会!一般来说,提前批阶段更容易获得高薪 offer。 
点赞 评论 收藏
分享
评论
4
26
分享

创作者周榜

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