
地平线Linux / QNX 底层软件开发实习生(基础系统驱动方向)
实习兼职软件序列地点:杭州状态:招聘
任职要求
我们希望你具备|基础能力比“经验”更重要 必需条件(我们真正看重的) 1. 扎实的 C 语言基础 - 熟悉指针、结构体、内存布局 - 能写出清晰、可维护、可调试的 C 代码 - 对“代码为什么这样写”有自己的理解 2. 良好的计算机基础 - 计算机组成原理(CPU、缓存、内存、I/O) - 操作系统基础概念(进程 / 中断 / 虚拟内存 / 同步机制/运行上下文/) - 对“程序是如何在硬件上跑起来的”有强烈兴趣 3. 对底层系统软件有经验并充满好奇心 - 对 Linux 内核 / 驱动 / Boot 流程感兴趣 - 熟悉阅读硬件手册、技术文档和源码 - 具备设备驱动/linux内核态编程的知识 5. 在以下至少一个领域有开发经验/基础知识: 1. - 存储子系统:eMMC/UFS/NVMe控制器驱动、Flash转换层 2. - 高速接口:USB 3.x/PCIe控制器驱动、协议栈集成 3. - Bootloader与安全启动:了解U-Boot与安全IP交互 4. - 复杂外设:如eth, ddr驱动基础开发 5. - 芯片安全架构:信任根、密钥管理、TEE系统、加解密算法 6. - Linux/QNX/TEE OS…
登录查看完整任职要求
微信扫码,1秒登录
工作职责
你将做什么 作为 AI SoC 底层软件方向的实习生,你将在导师带领下参与以下工作: 1. 参与自研 ARM64 AI SoC 的底层软件开发 - Linux / QNX 驱动与系统软件开发 - 与 AI 相关的关键模块:内存、I/O、Boot、安全、性能相关基础设施 2. 为 AI 芯片提供“稳定、可控、高性能”的底层支撑 - 编写和调试底层 C 代码 - 通过寄存器配置、内核机制让硬件稳定工作 - 理解 AI 算力背后的数据通路与系统瓶颈 3. 参与芯片早期软件验证 - 在仿真模型 / FPGA 原型平台上进行驱动验证 - 学习如何在“硬件还不完善”的情况下写软件 4. 参与芯片 Bring-up 与问题定位 - 学习如何从串口日志、寄存器状态、异常信息中定位问题 - 理解真实芯片启动与运行过程中发生的一切 5. 逐步独立负责小型模块或功能点 - 从简单外设到系统级功能 - 覆盖:驱动代码、文档、调试脚本等完整链路
包括英文材料
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
缓存+
https://hackernoon.com/the-system-design-cheat-sheet-cache
The cache is a layer that stores a subset of data, typically the most frequently accessed or essential information, in a location quicker to access than its primary storage location.
https://www.youtube.com/watch?v=bP4BeUjNkXc
Caching strategies, Distributed Caching, Eviction Policies, Write-Through Cache and Least Recently Used (LRU) cache are all important terms when it comes to designing an efficient system with a caching layer.
https://www.youtube.com/watch?v=dGAgxozNWFE
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
内核+
https://www.youtube.com/watch?v=C43VxGZ_ugU
I rummage around the Linux kernel source and try to understand what makes computers do what they do.
https://www.youtube.com/watch?v=HNIg3TXfdX8&list=PLrGN1Qi7t67V-9uXzj4VSQCffntfvn42v
Learn how to develop your very own kernel from scratch in this programming series!
https://www.youtube.com/watch?v=JDfo2Lc7iLU
Denshi goes over a simple explanation of what computer kernels are and how they work, alonside what makes the Linux kernel any special.
还有更多 •••
相关职位
社招后端开发
【职位描述】 1、设计和实现机器学习平台业务系统, 包括工具链/组件等AI基础设施, 落地业务功能需求; 2、高效优化和部署 计算机视觉、语音识别、语音合成、自然语言处理 等业务模型; 3、与公司各算法部门深度合作, 分析业务性能瓶颈和系统架构特征, 软硬件结合优化, 实现极致性能。
北京|上海
社招技术
1. 负责万亿级别QPS的分布式缓存/存储集群,支撑公司所有产品线的业务需求; 2. 设计、研发高可用、高性能的缓存/存储架构和中间件,应对弹性扩缩容,秒级故障自动切换,异地多活,分布式事务等极具挑战性的工作内容和方向; 3. 优化系统性能,深入内核,提升基础服务相关资源的使用率,增加系统稳定性,保障业务运行; 4. 设计并研发自动化运维平台,提升运维质量和效率,探索运维自动化和智能化技术和方向。
更新于 2025-04-01北京
社招3年以上基础业务质量组
1.负责业务质量保证工作,包括需求分析评审、测试计划制定、用例设计与执行、缺陷的跟踪和问题定位、项目质量风险把控等 2.针对业务痛点质量风险、线上问题分析,推进业务质量过程持续改进 3.自动化用例开发维护,性能测试脚本编写及执行,运用工具提高测试效率
更新于 2025-03-21北京