小鹏汽车自动驾驶软件开发(车型移植方向, Linux/C++/MCU)
社招全职3年以上地点:广州状态:招聘
任职要求
1、本科及以上学历,计算机/软件相关专业,3年以上软件开发经验; 2、熟悉C/C++语言,熟悉至少一种RTOS(阅读过OSEK、uCOS等的源码)、一种Linux/QNX,对计算机原理、操作系统、设备驱动有一定基础,能参与性能优化; 3、熟悉MCU和SOC的多核调度、进程间通讯、Socket网络编程,有CAN网络经验优先; 4、掌握AUTOSAR CP和AP,至少有1个相关量产项目经验; 5、责任心强,具备优秀的学习能力、独立分析问题和良好的团队沟通能力。
工作职责
自动驾驶软件开发资深工程师/专家(车型移植方向, Linux/C++/MCU) 1、负责新车型全栈自研自动驾驶算法软件的平台化移植和集成; 2、参与功能模块的软件开发、平台稳定性和系统性能的优化; 3、参与新一代传感器系统的算法适配和软件优化; 4、参与嵌入式软件和应用软件的需求分析、软件设计、编码、测试和缺陷解决。
包括英文材料
学历+
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.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
RTOS+
[英文] RTOS Fundamentals
https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/01-RTOS-fundamentals
A Real-Time Operating System (RTOS) is a type of computer operating system designed to be small and deterministic.
uC/OS+
https://micrium.atlassian.net/wiki/spaces/osiidoc/pages/163862/Getting+Started+with+C+OS-II
This chapter provides four examples on how to use µC/OS-II.
https://www.analog.com/media/en/dsp-documentation/software-manuals/micrium-ucos-iii-usersmanual.pdf
learn about real-time kernels through μC/OS-III.
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
SOC+
https://www.arm.com/resources/education/books/modern-soc
The aim of this textbook is to expose aspiring and practising SoC designers to the fundamentals and latest developments in SoC design and technologies using examples of Arm Cortex-A technology and related IP blocks and interfaces.
https://www.arm.com/resources/education/education-kits/introduction-to-soc
To produce students with solid introductory knowledge on the basics of SoC design and key practical skills required to implement a simple SoC on an FPGA and write embedded programs targeted at the microprocessor to control the peripherals.
https://www.youtube.com/watch?v=dokgLSAhqHI
A key part of the digital innovation revolution has been the embrace of the SoC, or system-on-chip.
网络编程+
https://www.youtube.com/watch?v=2HrYIl6GpYg
I will make a simple HTTP web server with the C Programming Language.
https://www.youtube.com/watch?v=8z6okCgdREo
This tutorial is for Gophers who have written a command line or an API application, but have little to no experience in lower-level concepts like reading and writing to sockets, working with channels, and managing multiple goroutines.
https://www.youtube.com/watch?v=bdIiTxtMaKA&list=PL9IEJIKnBJjH_zM5LnovnoaKlXML5qh17
https://www.youtube.com/watch?v=bzja9fQWzdA
Implement the ubiquitous TCP protocol that underlies much of the traffic on the internet!
[英文] 📺Network Programming with Python Course (build a port scanner, mailing client, chat room, DDOS)
https://www.youtube.com/watch?v=FGdiSJakIS4
Learn network programming in Python by building four projects. You will learn to build a mailing client, a DDOS script, a port scanner, and a TCP Chat Room.
https://www.youtube.com/watch?v=gntyAFoZp-E
https://www.youtube.com/watch?v=JiuouCJQzSQ
Explore the fundamentals of networking in Rust by building a simple TCP server.
https://www.youtube.com/watch?v=JRTLSxGf_6w
https://www.youtube.com/watch?v=sFizpxHkIlI
In this video we'll cover SOCKET PROGRAMMING in JAVA.
https://www.youtube.com/watch?v=sXW_sNGvqcU
AUTOSAR+
https://elearning.vector.com/mod/page/view.php?id=437
AUTOSAR (Automotive Open System Architecture) is a standardization initiative of leading automotive OEMs and suppliers and was founded in autumn 2003.
相关职位
社招3年以上
自动驾驶软件开发高级/资深工程师/专家(Linux/C++方向) 1、负责自动驾驶相关的新产品软件设计和开发; 2、负责自动驾驶相关的应用和算法软件在新软硬件平台上/新车型上的移植和调优; 3、与各相关团队协作,共同完成自动驾驶产品工程化落地,负责分析和解决遇到的相关软硬件问题; 4、负责现有平台/车型的迭代开发维护。
更新于 2023-08-30
社招
岗位描述: 1、负责自动驾驶中前沿深度学习算法模型的优化和高效推理部署,达到量产车型上嵌入式芯片的性能要求。 2、负责设计、开发新一代高性能的自动驾驶软件功能模块,能够对实车硬件状态和软件表现进行深度分析和调优。 3、负责传统CV、SF、SLAM等算法的在嵌入式平台的移植、CPU/GPU优化。 4、探索下一代嵌入式芯片上,高性能计算、模型量产和优化的无限可能。
更新于 2023-08-30
社招2年以上
自动驾驶系统开发高级/资深工程师(行车) 1、负责自动驾驶功能交付,编制功能开发计划、主导需求定义、功能规范编制、推进自动驾驶软件按计划开发、推进测试工程师按计划测试验证,确保功能按时按质交付; 2、负责功能开发过程中的问题分析,跟进问题整改和验收,确保功能按照项目节点要求上线; 3、紧扣整车开发流程,协调部门内/外资源,推进相关零部件和自动驾驶集成开发,负责制动/转向等执行器联调验收; 4、协助项目经理推进自动驾驶系统在整车项目开发中的相关工作。
更新于 2024-07-08