中科院软件所plct实验室日常实习生面经

整体感觉🉑 ,怎么和我想象的面试不太一样()
两老师人都很好,看后面给不给过了
处女面 非常紧张+认真记录了
1. 自我介绍 
2. 两个老师自我介绍
Q: 一些个人方向和实习方面的问题

反问: 若后面进入实习,pre-task时限是否可以从1.8号开始计算 (这段时间在准备期末考试)
A: 没事的 hr审核流程以及各个流程加起来都有2个星期左右
Q:  简要描述一下你对发行版的理解 平时有用常用的发行版吗
A: 是的 平时有用ubuntu 或者debian 我对发行版的理解就是软硬件集合一体的整个系统,发行版有自己的所适配的硬件架构的内核外,更多的是描述软件环境和生态,不同发行版的区别最大的地方就是软件环境,内核方面可能采用的是linux内核,内核的话也是一部分,内核自己也是在不断升级,完善更多的内核特性,比如在linux2.6以前内核是不能抢占的,2.6之后就有了抢占特性,有点记不清是版本多少了,应该是2.6 ,总的来说 发行版既包含了内核,又包含了软件生态,不同发行版最大的区别是在软件环境
Q: 请问你希望通过加入实习学到什么呢?
A: 1.在软件环境方面,希望自己能够通过相关工作学习整个os的软件环境,之前也有了解过shell的软件环境 2.在内核方面,就学习openEuler内核代码,3.硬件部分 更多了解riscv的架构一些特性

Q: 简单描述一下你的个人项目和遇到的难点以及怎么解决的吧

项目之后
老师A: 我没什么问题了
老师B: 嗯 同学有什么问题吗
反问环节
Q: 贡献方式是解决issue , 提pr吗
A: 是的 后期以pr为考核期限 每月至少做一个任务 当然也可以这样混三个月 但是就没什么意义了
Q: 劝退方式是 pre-task未完成或者贡献0吗
A:是的
Q: 会有实习证明吗
A: 当然,三个月实习后,会有我们的中科院实习证明的
Q: 有相关更偏内核硬件相关工作吗

全部评论
项目内容: 1. 从上到下依次说了项目难点以及解决的 主要都是 工作环境 + 硬件环境 + 软件环境 + 具体难点方式回答的 tos: 环境的话 最开始考虑的是gnu工具链+烧录器+调试工具 进行开发 后面和项目导师商量后 改为keil集成环境开发 硬件部分: 之前没有接触过arm 所以是先去在b站上找了相关的视频 入门 学习汇编和arm架构 然后就是找arm官方的手册 包括arm的架构 arm-cortexm4的具体介绍 以及st公司对应的腾讯板用的stm32的datasheet 以及官方给的原理图 从内到外理解 包括架构 包括汇编 包括寄存器 包括硬件资源 的一个具体的字节硬件环境 软件上面因为有内核开发经验 直接找github上面的tos内核 从kernel的代码直接看的 具体难点 有一个是iap架构 分固件和用户两个工程 也就是用户处于用户工程,在用户态 然后通过兼容的tlib进行开发 然后分两个工程烧录就是他需要keil里面勾选不要擦除再烧录 以及在用户工程需要去干掉stm32的启动文件(因为_start开始那段是闭源的) 自己写一段从flash加载到内存的代码 即加载域到执行域的这一部分 可能就是需要你对硬件起始环境的完全理解 和动手
2 回复 分享
发布于 2023-12-22 20:05 四川
第二个项目 Los-xv6like-system 环境: 这部分倒是没有遇到太大的困难,就是直接GNU工具链+Makefile 来管理项目的,具体硬件环境也使用的是qemu-riscv32G 硬件环境: 无实际硬件环境, qemu的riscv32G 的模拟器模拟riscv 然后默认选项把sbi干掉了 写的默认选项是-machine virt 当时是去qemu官网找了virt模拟了哪些具体的硬件 再去找硬件的datasheet 来开发,还是走的官网找架构资料,拥有的硬件资料,了解一个重要的架构memory model 映射图 哪些是io 哪些是flash哪些是memory 来做的 qemu有个比较爽的点是可以指定 -kernel 去指定一个elf文件 你就可以直接把一个elf文件 烧录到virt起始地址了 这样就相当于直接烧了一个bios 所以也干掉了sbi选项 遇到的困难就是当时qemu怎么去初始化加载内核 后面是查阅官方文档看到-kernel选项就自然解决了 软件环境 从0开始手上有datasheet 掌握了完全の硬件环境 (至少最重要的memory model) 就可以开始构建bsp驱动和软件了 具体难点 解释了一下硬件提供的atomic_exchange,然后怎么从atmoic构建spin 以及通用rtos是怎么调度的 挂一个软件中断 然后进入中断处理 有些架构比如arm 自动压一些寄存器 所以考虑要不要把剩下的压到线程的栈里 riscv是没有这个动作的 所以可以考虑不用线程的栈来保存,直接把所有的寄存器压到某个数组里面 这就是切换上文 然后就是软中断的执行流也就是cpu调度流 没有出口 直接选择就绪队列里面的第一个线程pcb 加载下文 sret回到用户态来构造的
1 回复 分享
发布于 2023-12-22 23:04 四川
后面的就类似了
点赞 回复 分享
发布于 2023-12-22 20:07 四川
再次感谢24届哈工大的佬 @CH3CHOHCH3
点赞 回复 分享
发布于 2023-12-22 20:14 四川
佬,给你跪了😭
点赞 回复 分享
发布于 2023-12-22 22:43 山东
老师这里就说可以快速讲解 时间上需要注意一下了 所以第三个项目以及后面两个小项目就一笔带过了
点赞 回复 分享
发布于 2023-12-22 23:06 四川
希望能去riscv-sig分支 日常实习生 愿上帝保佑
点赞 回复 分享
发布于 2023-12-22 23:07 四川
mentor pick过了 后面走合同流程了
点赞 回复 分享
发布于 2023-12-23 00:56 四川
lz实习薪资多少呀?
点赞 回复 分享
发布于 01-03 06:59 福建
hi,我也在考虑投 PLCT,我看您写的面经里面没有上机部分?这个是说明它的流程与 github 上的书面流程不完全一致是吗
点赞 回复 分享
发布于 01-08 18:42 北京
佬,给你跪了😭
点赞 回复 分享
发布于 01-29 17:00 天津
您好,我也刚刚拿了这个开源实习,请问工作体验怎么样啊
点赞 回复 分享
发布于 03-11 17:24 江西
那笔试的内容大概有哪些呀
点赞 回复 分享
发布于 04-06 16:42 上海
嗨同学,想问一下笔试具体是什么类型的题目呀?我也在申请,想请教一下谢谢🙏
点赞 回复 分享
发布于 09-28 00:41 江苏

相关推荐

点赞 评论 收藏
分享
评论
5
9
分享
牛客网
牛客企业服务