腾讯新闻 二面

  1. 项目中技术有哪些收获
  2. hsnw
  3. 链路流程
  4. 用到什么有趣的数据结构
  5. qps过大怎么办?降级/限流
  6. remote rpc与本地调用相比的开销区别
  7. 怎么排查问题
  8. linux常用命令
  9. 查看cpu使用率 proc/stat
  10. 查看mem使用率 proc/meminfo
  11. 查看监听端口 netstat
  12. 查看进程cpu/mem使用率 top
  13. 查看线程堆栈 pstack
  14. coredump怎么排查
  15. gbd怎么排查
  16. std容器哪些是线程安全哪些是线程不安全的
  17. unordered_map底层/rehash时的性能
  18. 线程同步有哪些方法
  19. mutex和condition的用法/区别
  20. 信号量semaphore
  21. 内存池应用场景/底层实现
  22. redis性能/底层
  23. nginx/redis源码
全部评论
1. 网络通信 - **RPC**:最大的开销来自网络通信。RPC需要通过网络发送请求到远程服务器,并等待响应返回。这其中涉及数据的序列化(编码)和反序列化(解码),网络传输延迟,以及可能的网络带宽限制。 - **本地调用**:本地调用仅在内存中进行,无需网络传输,因此不存在网络延迟和序列化开销。 2. 数据序列化和反序列化 - **RPC**:RPC调用中,请求和响应数据通常需要序列化成一种网络传输兼容的格式(如JSON、XML或二进制格式),在接收端再反序列化。这个过程消耗CPU资源,并增加了调用时间。 - **本地调用**:本地调用不涉及数据的序列化和反序列化,数据直接以内存中的格式传递。 3. 错误处理和可靠性 - **RPC**:在RPC过程中,需要考虑多种错误情况,包括网络故障、远程服务器宕机、超时以及数据丢失等。错误处理逻辑更复杂,需要实施额外的容错措施如重试机制或异常处理。 - **本地调用**:本地调用的错误通常只涉及内存、资源访问违规或逻辑错误,处理相对简单。 4. 安全性 - **RPC**:RPC涉及网络传输,因此必须考虑数据加密、认证和授权等安全措施,增加了开销。 - **本地调用**:一般不需要通过网络传输数据,因此不涉及网络层面的安全问题。 5. 调用延迟和性能 - **RPC**:包含网络传输延迟,调用延迟相对较高。性能受限于网络条件和远程服务器的处理能力。 - **本地调用**:调用迅速,因为执行过程仅在本地内存和CPU上进行,调用延迟极低。
1 回复 分享
发布于 2024-06-27 14:48 河北
排查 `coredump` 的一般步骤通常包括: 1. **确保系统配置允许生成coredump**: 由 `ulimit`(用户级别的限制)和 `/proc/sys/kernel/core_pattern`(系统级别的设置)控制。 2. **定位coredump文件**: 当程序崩溃生成coredump时,文件通常保存在程序崩溃时的当前目录,或者根据核心模式(`core_pattern`)设置保存在指定的位置。 3. **使用gdb排查**: gdb <executable-path> <core-file-path> 其中 `<executable-path>` 是导致崩溃的程序的路径,`<core-file-path>` 是coredump文件的路径。 4. **分析崩溃信息**: 在gdb内,通过以下命令查看崩溃时的信息: - `bt`:打印崩溃时的堆栈跟踪。 - `info registers`:查看当前所有寄存器的值。 - `list`:查看源码(若有调试信息并且gdb能够找到源文件)。 - `thread apply all bt`:打印所有线程的堆栈跟踪。 - `frame`:选择堆栈帧来查看或操作。 使用这些命令可以帮助你定位到导致崩溃的代码位置,并进一步分析可能的原因。 `coredump` 文件通常很大,因为它们包含了进程的整个内存映像。 </core-file-path></executable-path></core-file-path></executable-path>
1 回复 分享
发布于 2024-05-13 22:50 北京
你腾讯新闻是做什么的,我上周刚面完
点赞 回复 分享
发布于 2024-05-14 13:42 四川
netstat -tulnp | grep LISTEN
点赞 回复 分享
发布于 2024-05-13 22:33 北京

相关推荐

日期:2026.3.23时长:约35mins面试官:算法工程师&nbsp;/&nbsp;产品经理&nbsp;(具体不清楚,但是确实懂一定技术)面试岗位:技术研究&nbsp;实习生内容1&nbsp;自我介绍2&nbsp;项目介绍i.&nbsp;&nbsp;对你的XXX项目感兴趣,请你介绍一下:a&nbsp;我这个项目是系列项目,第一个……,第二个……,第三个……。b&nbsp;其中做的最深的是第四个,硕士毕业项目。其中,用了……,因为我更关注……。其中会面临……问题,针对这个问题的关键是……,因此我采用……实现……来解决。ii.&nbsp;我对你项目中的……技术点感兴趣,请你介绍一下:a&nbsp;采用这个主要考虑……,通过这个点能实现……,最终实现……效果。iii.你项目中另一个……技术点是什么,和你之前的有什么区别?a&nbsp;这个的作用是……。为什么要这样考虑呢?是因为……,所以从这个角度看,我可以构建……,这样和……技术点是匹配的。那么这样这个技术点可以实现……,之前的技术点可以实现……,他们结合在一起可以实现……。iv.这个领域对于多智能体问题采用的经典方法是……,我观察到你也采用了这个方法,你的方法是否相比于其他人的同样的方法有优势?a&nbsp;首先这个方法是……方法,选用这个方法是因为……。b&nbsp;基于此,我不认为我的方法有特别的优势,或者说我不认为所有采用这个方法的项目较其他采用这个方法的项目会有优势,原因是这个方法是工业化的首选,其往往需要在有限的体量内解决问题,就算对其有改进,改进的工作量相比于最终获得的性能提升也是有一定的得不偿失。此外,考虑对方法进行改进并不是我们这个专业或方向的工作重点,我们更关注的是通过技术方法解决细化问题中的难点,也就是工程技术的具体应用与落地,至于方法的改进当然重要,但这个内容更可能是数学或计算机相关的关注重点。v&nbsp;.你做了这么多项目,是如何通过数据评价你的项目有效的?a&nbsp;您是想问如何通过一些指标来量化评价项目的成效吗?&nbsp;--》&nbsp;是b&nbsp;对于这些项目的结果评价,需要一个第一性的原理支撑。我们的原理来自于……,从其中可以抽离出几个方面进行评价。具体是……。感觉这一部分没有特别深入技术的细节,很多都是项目设计的逻辑和完备性出发的问题。3&nbsp;场景提问i.&nbsp;&nbsp;你平时关注……吗?a&nbsp;关注的,我特别关注……。ii&nbsp;.那么你应该也知道,在这个……中会有……。如果让你来设计一个……,你会如何通过你的技术栈来设计?a&nbsp;首先,我认为……有不同的行为模式和目标。那么接受的状态可以包含……,然后采用分层设计,上层宏观决策……,比如要让这个做出……宏观行为,下层微观决策……,让……做出具体的……。b&nbsp;最后在执行上,可以根据……动态调整,比如……我就……,反过来则加一些噪声或者添加随机化的参数……。这一部分感觉也不算很难,根据发的面试邮件的主题提前问问ai准备一下,有清晰的思路应该就没问题。4&nbsp;反问a&nbsp;对于这次面试,从您的角度出发是否有改进点?i.&nbsp;&nbsp;没有什么特别的改进点,包括其他面试官和你提的也不一定都是你需要改进的,总之这个东西千人千面,我们更关注的是你是否与我们的项目match,是否一进来就有所产出(我理解的不是马上有产出,而是在一段时间之后真的在解决问题,而不是全在学习,所以最后可能有点言重了?我不清楚,但确实是这样说的)b&nbsp;对于后续的面试流程,大概会在多长时间内进行?i.&nbsp;&nbsp;就我接触到的,一般来说都在一周之内会有反馈,不论是进入到下一环节还是pass。c&nbsp;如果我最终入职了相关岗位,实习生是否有相关的算力资源?i.&nbsp;&nbsp;有的,这一块不用担心d&nbsp;如果我最终入职了相关岗位,实习生是否有相关的ai&nbsp;Coding额度?i.&nbsp;&nbsp;有的,你可以在网上搜一下,现在基本上每个人每年都配备了……额度,每个月……。整体来说感觉状态良好,无手撕。
查看8道真题和解析
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

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