百度c++暑期实习三面...

其实好像是叫c++/go/java研发暑期实习

连着123面..1面基础为主,二面简历为主,其他忘了..就记得一点三面

先问了问实验室项目

寄存器访问为啥比内存快?(答的访问路径不一样,还猜了是因为存储介质不一样,好像寄存器是要x个门电路,dram是要充电的。想不出来,面试官说如果让你设计你会用什么东西存储bit,我说d触发器,面试官给回复寄存器就是用的d触发器,dram通常是电容...)

介绍一下linux内存管理子系统(准备从pglist->mmzone->...一点点讲,后来..见下一问)

如果从模块上层接口和下层接口来看的话呢(不了解sbrk,所以讲了上层应该提供类似malloc、free类似接口,下层应该管理页表、物理页等信息)

malloc应该提供什么粒度的分配接口呢(我认为malloc应该提供统一粒度的接口,但可以定一个上限)

你应该听说过内存碎片问题,如果使用者malloc不同的size,有些可能比page大,有些比page小的多,这种情况要怎么处理(问的大概是这个意思,有点记不清了,回答的linux buddy allocator + slab)

操作系统怎么知道内存初始大小(当时回答的bios数据区有个字段可以给出大小,后来发现记岔了...bios数据区的只能给出1m以下的,应该用0x15号bios中断获取内存大小...)

你觉得什么时候用进程,什么时候用线程比较合适(线程共享数据比较方便,进程共享数据相对不那么方便,如果是需要频繁访问共享数据的话,用线程比较好。进程方面举了数据库备份的例子,用线程需要加锁,还不是快照数据,用进程可以借助linuxcow机制,更方便)

你应该知道共享内存,如果让你实现一个共享内存要怎么做(因为了解过一点linux的,就回答了linux的mmap,在进程虚拟地址空间根据mmap是映射匿名页还是文件页产生一个对应的vm_area_struct,随后关于物理页的处理交给page fault)

程序编译链接过程(预处理,编译,优化不知道在哪,汇编,链接)

链接过程做了什么(相似访问权限section合并为segment,确定符号地址,地址重定向)

设计模式你了解过吗(看过一点design patterns in modern c++,webserver里用过单例和builder模式,其他的仅了解,没用过)

或者这么说,你觉得linux哪些设计很妙(hal,举了个页表的例子,体系结构无关代码看到的都是四级页表,体系结构相关代码负责各级页表访问的具体实现,还想讲一点linux module..后来面试官换下一个问题了)

..其他的忘了,好像

反问:

实习转正机会

实习生一般负责做什么

项目中一般用哪些中间件
#面试那些事##百度##实习#
全部评论
你这问的都是啥啊。。。。 我天,,,,,
5 回复 分享
发布于 2022-04-11 20:07
emm,想起来了,还问了写日常,有啥爱好,打游戏吗,追剧吗之类的...还有一般什么时候在实验室,不在实验室的时候会做什么...
3 回复 分享
发布于 2022-04-11 09:53
楼主现在官网是什么状态?有消息吗
点赞 回复 分享
发布于 2022-05-10 14:39
{"pureText":"","imgs":[{"src":"https://uploadfiles.nowcoder.com/images/20220510/901237551_1652158950886/C8EDBCBBBB933A8DD55CB862518F203C","width":"1440.0","height":"1098.0","alt":"JrklzAh5kDtjFrYiPHF5WXuAq2gyU0Nn.jpg"}]}
点赞 回复 分享
发布于 2022-05-10 13:02
楼主有消息了吗?
点赞 回复 分享
发布于 2022-05-10 10:11
楼主,三面通过的话会有通知吗
点赞 回复 分享
发布于 2022-04-17 12:24
和我一个面试官,一模一样的问题,面完就寄了😭
点赞 回复 分享
发布于 2022-04-17 12:19
好难。。
点赞 回复 分享
发布于 2022-04-17 10:39
你实验室项目是和Linux、内核有关的吗
点赞 回复 分享
发布于 2022-04-16 00:44
操作系统问的也太深了。。。
点赞 回复 分享
发布于 2022-04-11 17:47

相关推荐

项目适用岗位:互联网C++后端, 大模型端侧部署 ,自动驾驶/机器人具身智能C++开发1、底层通信组件方案通信模式封装支持兼容多种通信模式普通消息模式:PUB/SUB(发布订阅)、PUSH/PULL(点对点通信)RPC 模式:通过ZMQ_REP、ZMQ_REQ 封装 RPC 功能RPC功能支持 RPC 方法的动态注册提供默认的 RPC 方法列表查询支持 RPC 调用2、Master模块(实现思路:类似ROS1 Master功能, 更轻量化)背景:分布式大模型系统中,多个节点(如llm/vlm, asr,tts, camera,yolo)需要动态发现彼此并高效通信,外部用户可以动态管理节点内任务调度​​节点注册与发现​实现轻量化内存kv缓存数据库:存储节点元信息;并提高sql查询接口,供节点动态通信节点启动时向Master模块注册,上报自身元信息;节点通信时自动匹配动态任务调度分配设计用户请求-任务匹配机制:外部用户仅封装简易数据包请求,可实现动态控制各个模块(启停/llm推理等)3、Channel模块封装上层发布-订阅(PUB/SUB)和点对点通信(PUSH/PULL)混合通信模式设计闭包,通过闭包将​​网络层​​(ZeroMQ)与​​业务层​​(用户回调)解耦,同时隐式维护了通信上下文状态。4、Infra基础架构模块rpc分布式控制指令下发+异步​事件驱动架构​​注册rpc_setup/rpc_pause等分布式控制接口->注册eventpp事件监听->上层触发rpc调用 -> 添加eventpp事件队列中-> 异步事件驱动->各子类Setup/Pause等功能接口标准化控制协议​​基于抽象接口(Setup/Pause等)实现跨模块统一管控,支持LLM/ASR/TTS等异构节点无缝集成5、TASK模块与Infra模块关系:类似与进程和线程之间关系,Infra模块负责资源分配和流程管控,TASK模块是真正干活的,干的活如下:各模块中模型生命周期管理(加载/卸载)infra推理包装回调输出等等
Sor大白:项目适用岗位:互联网C++后端, 大模型端侧部署 ,自动驾驶/机器人具身智能C++开发
点赞 评论 收藏
分享
评论
5
40
分享

创作者周榜

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