TME酷狗音乐二面

📍面试公司:TME
🕐面试时间:5.12
💻面试岗位:后台开发二面
❓面试问题:
1. 除了 Java 语言的话,还有了解其他的语言吗?
2. 像 C++ 和 Go 这些有了解吗?
3. Go 完全没了解过吗?知道这门语言吗?
4. Go 的相关内容完全没有看过吗?
5. 你对 Go 这门语言不感兴趣吗?
6. 你知道 Go 这门语言有些什么样的特性吗?
7. 那你觉得 Java 跟 C++,你怎么评估这两个语言呢?
8. 你们上课没有学过 C++ 吗?
9. C++ 中 Public 继承跟 Private 继承有什么区别?
10. 你在项目里面没有了解、没有用过这两种继承方式吗?
11. 你说一般使用默认的继承方式,那默认继承是什么继承?
12. 怎么理解?
13. 那我问的是,在 Java 里面默认的继承方式是哪种?
14. 为什么 Java 默认的继承方式是 Public?
15. 如果一个子类以 Public 的形式继承了父类,它能不能调用父类的 Private 函数?
16. Java 中 Map 跟 HashMap 有什么区别?
17. HashMap 底层是怎么实现的?
18. 你平时用的开发环境主要是 Windows 还是 Linux?
19. 有用过 Linux 吗?
20. Linux 中怎么样查看服务器的 IP 地址?
21. Linux 中怎么查看服务器的 CPU 核心数?
22. Linux 中怎么查看服务器的内存大小?
23. 如果我知道一个进程的名字,怎么查看这个进程的 ID?
24. 你是怎么理解多线程跟多进程开发的?这两种开发模式有什么区别?
25. 你没有实际开发过多进程对吧?那从理论上来分析呢?
26. 你知道 Linux 上或者操作系统调度进程的算法是什么样子的吗?
27. 刚刚你提到做了一些 AI Agent 相关的工作,这些是你的学习项目,还是说在实际的公司去推进的项目?
28. 你的 RAG 系统是怎么设计的?
29. 在 RAG 的通用流程里面,你有没有做过一些你觉得不错的优化或者调整?
30. 你是怎么调的?调的原因是什么?
🙌面试感想:不知道为什么问了一些C++的问题
#发面经攒人品##面经##牛客AI配图神器#
全部评论

相关推荐

今天 15:15
南京邮电大学 C++
目前求职成果大概从4月中旬开始投递,到五月中旬为止,已经获得腾讯暑期实习offer,以及一个做数据库内核的小巨人企业的offer## 一、初识零声​本人对linux/C/C++的技术栈比较感兴趣,在视频平台,社交软件上刷到相关话题时,都会顺带点击观看一段。直到某一天晚上在bilibili上刷到了有两个人坐在一个虚拟背景前面,视频界面上醒目的内容简约介绍,还是关于C/C++方向的内容,我自然会顺手点开观看。观看几个视频后,我认为这种高信息浓度的视频非常符合我的口味,视频中没有什么多余的元素,背景板简约大气,视频大部分内容都是king老师在给出自身的看法,虽然是一家之言,但是对于我这个对行业没什么了解的在读大学生来说,已经是一种很方便的信息获取方式了,而且视频内容的干货和一些中肯建议也不在少数,在短短几分钟到十几分钟的时间内,可以了解到某个行业的某些方向目前的情况,了解到走出学校进入职场的转变,以及最为重要的计算机学习建议,(同时两位老师坐在摄像头前回答问题这种朴素的视频界面设计,也感觉更有亲和力,还可以从老师的一些肢体动作,微表情等方面推测出一些额外信息),这些因素都建立了我个人对零声的初步好印象。## 二、进入零声​大二下学期开学时,由于大三要为实习做准备,加上大二上学期做过的一些小尝试,java后端,unity游戏开发等小demo都做过,所以我一开始是打算自学,并不打算报培训班。虽然万物皆可自学,但是对我来说计算机自学难度还是太大。在bilibili上看完了JUC并发编程,Maven入门,JVM等视频,并跟着视频敲了一遍代码后,准备开始学习springboot框架,做一个项目试试水。然而bilibili上的免费教学视频固然很多,但是很多都不成体系,我不知道我学了这些东西究竟能用在哪,项目示例也基本烂大街,跟着敲一遍很容易,但是做完脑子还是空空的,感觉仅限于敲了一遍,把代码混了个眼熟。发现似乎几个月的时间好像没有什么产出,想上Github上找一个开源项目做一做,发现连环境都要配好几天,大量的代码也无法在短期内梳理完毕,学完了很多课程,发现面对实战的时候依然手足无措,我相信这也是很多自学人士的痛苦。​从那时候不得不思考这种学习方式是否正确,是否适合我。但是时间不等人,我意外从我同学处了解到他报名了一个培训班,说效果还不错,课程内容有点难,但是很有收获,技术栈也是跟C/C++相关,这很符合我当时的期望,一是时间紧迫,二是喜欢使用C/C++语言,我便向他询问了课程,发现就是零声教育,没有某硅谷,某黑马等培训班那种铺天盖地的广告和夺目的海报,零声的大纲和宣传里全是朴素的字,有一种去惯了高档餐厅最后进了一家路边小馆的感觉,加之之前在b站上的印象,我认为是一个可以信任的机构。在此机缘下我加入了零声教育。## 三、零声学习感受零声服务的模式是视频课程+项目实践+阶段模拟面试### 视频课程感受​视频为录播方式,对于我个人来说,录播其实远比直播划算,跟着直播手敲代码,思路肯定没有老师清晰,重点在于学,这会导致一旦节奏对不上,代码就敲不完,这时候是补代码呢?还是接着听呢?无论哪种方式,都需要直播课后继续看录播花时间学习理顺思路,那还不如直接看录播,按照自己的节奏看。​对于视频内容,时常基本在2h左右,目前主要学习了一些mysql连接,DNS协议与请求,HTTP请求,TCP服务器,并发调试等,主要集中在高性能网络部分。课程内容基本是实操,由老师手把手教学,从配置环境到调试完bug,这是一个很好的学习通路,至少不至于在学到一半突然自己卡壳,削减学习热情。课程里使用的某些技术也会被使用到后续的项目里,可以说是设计的恰到好处了。## 项目实践​目前已实现了一个自研KV存储系统(键值对存储系统,仿Redis),项目实践阶段,也会由老师带入门,先打造好基础框架,保证最基本的功能可以运行。真正的挑战在于后续的迭代,项目迭代过程中,老师会在阶段交付的时候提出需求,给出交付时间,再验收,再迭代......而每次的需求都可能包含以前课程学过的东西,也可能是比较陌生的需求,这也是一个极好的锻炼,而且在有限的时间内,面对新的技术点,必须改变学生学习的思维,即先把资料看完,然后再动手做一个小demo,然后再运用于项目中这种完美主义式的学生思维。学以致用,乃至用以致用。在做项目期间,我认为重点有两个,一是学到了什么新东西,二是有没有产出。king老师在b站上,每当被问到关于学习方法的问题,总会一再强调一个产品化的概念,把一个想法做成一个产品,逐步迭代,逐渐学习。而这个KV存储系统让我能深刻感受到这句话的含金量。从项目第一次验收,king老师评价我的成果不像一个产品,像一个demo,到现在已经逐渐可以作为一个微型系统直接使用,性能也相对平稳。​期间面临的挑战也极多,比如网络连接,是一请求一线程的方式,还是用IO多路复用让性能腾飞?即使使用了io_uring或者epoll,也会出现性能瓶颈,怎么知道性能瓶颈在哪?是凭直觉还是用火焰图?中间省略n字..............​可以说,大到一个模块功能的并入系统,可能运行不了,甚至会影响其他功能的正常使用,小到绞尽脑汁算计如何榨取性能,哪怕优化几处strcmp,优化几个strcpy为memcpy,删去几个strlen的使用,都是一次性能的进步。## 模拟面试​    以项目实践的模拟面试为例,一般是演示成果。老师站在客户的角度,有可能要求的演示方式与我们开发时的测试方式不同,便会暴露出系统的不完善,从中也可以了解到项目问题的优先级,哪些是直接影响使用,优化刻不容缓?哪些是可以等并入新功能再逐步调整?有时也会询问某个功能实现的大致思路,为什么这么实现?可以说这个模拟面试,就是在为将来的正式面试脱敏,熟悉面试的场景,调整技术表达.........当然也会对于某些方面展开追问,这与实际求职面试中的遇到的情况大差不差,还是很有参考价值的。​    以八股文的模拟面试为例,课程里有涉及到Mysql,Redis,grpc框架,C/C++八股等课程,在学完之后,也是需要找老师约定一个时间进行模拟面试。对于模拟面试里被问到的,也基本上会出在实际求职的面试中。另外,零声的老师也有整理了许多八股资料可以参考和理解,里面有快速记忆和原理理解的描述,做得还是很全面的。其实对于求职的面试中,面试得多了,就能看出对八股文的拷问都大差不差,重点在于自己能不能把重点描述清楚,和自己项目相结合的八股,回答重点要突出自己有实践经验,自己是真的写过代码的,做到回答时自己心里有底气。​面试需要练习,我第一次模拟面试的时候,也是抓不住重点,经常胡乱讲一通,碰到不会的问题,脑子瞬间一片空白。面试的能力需要在一次次模拟面试或者真实面试中锻炼,最基本的,把自己的项目,自己做过的东西,解决的问题,踩过的坑描述清楚,遇到不熟悉的问题,可以思考一会,回想一下以往做项目的时候有没有遇到类似的情况,如果是八股,尝试着能不能从一些相关的知识中迁移回答,面试官不需要你泛泛而谈,他更希望能够结合自己的实践经验阐述,这是区分面试者是否真正动手实践的核心。这些内容,都可以积极和零声的老师进行模拟练习,当然如果有时间,也可以借助ai模拟面试,但是ai对于面试者的问题回答的反馈基本都是正向的,和实际的面试场景会有点不符,不过练练自己的表述还是绰绰有余。## 总结​对于付费学习的问题自然是仁者见仁智者见智,在零声学习的这几个月中,收获颇丰,在项目实践中,可以很明显地感觉到,真正把一个想法产品化,期间的技术点,策略,乃至架构设计,自身都会得到很大的提升,而且也会发现实践和书本知识完全不是一回事,书本会告诉你epoll,io_uring性能好,但不会告诉你如何调整逻辑以适配自己的应用场景,解决性能瓶颈,书本会告诉你hash表的查找时间复杂度是O(1), 但不会告诉你即使是O(1),也被某些昂贵的系统调用拖慢速度,如何舍弃掉这些昂贵的系统调用。这是大学生走出课堂要上的第一节课,逐步与工业界接轨。付费课程,买的就是人工的服务,买的就是成体系的课程设计,至少在零声的学习中,我不必焦虑接下来学什么,学完究竟有没有用,如何产出,有引路人规划学习路线,这是一份极大的安心,安心专注于学习技术,增加产出,专业的事情应该交给专业的人做。​对于求职阶段,零声的老师会积极鼓励学员,也会推荐一些新的方向如果后续实在需要调整,像传统C/C++后端的岗位比较少,更多的是QT和嵌入式,在投递的时候,即使投了其他方向的,简历大概率也会被筛掉,因此在投递简历的时候很容易内心不稳产生焦虑。遇到这些问题,可以向零声的老师询问如何优化简历,也可以向老师倾诉一下求职的压力,king老师经常就会稳住我的心态,他经常提到后面还有秋招,春招,也有很多很多的机会,不要自乱阵脚。​对于求职,首先自己的技术能力肯定要过关,扎扎实实学好基础,练好逻辑表述,其次有了零声老师这些行业前辈的建议和站台,他们对于行业求职的节奏和方向肯定把握得比应届生成熟,多多找零声的老师聊天,补全信息差,毕竟我认为付费课程中的人工服务才是最值钱的,这样已经可以做到在求职路上走得比较顺利了。
我的求职进度条
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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