小米嵌入式应用软件工程师-智能音箱
社招全职5年以上A159105地点:武汉状态:招聘
任职要求
1. 本科以上学历,计算机专业,或者电子、通信、自动化等计算机相关专业;5年以上工作经验。 2. 熟练掌握C、C++开发语言,具备良好的编程规范。 3. 熟悉Linux/Rtos操作系统原理及常用工具,有多线程编程、多进程编程经验。 4. 熟悉 HTTP,TCP/IP 等网络协议、RTSP等流媒体协议,有网络编程经验。 5. 有alsa、ffmpeg中一种或多种多媒体框架式系统软件开发经验者优先。 6. 有自动化脚本开发经验者优先。 7. 有智能音箱、平板、手机等智能硬件开发经验者优先。 8. 责任心强,工作积极主动,具有良好的沟通能力和团队协作能力。
工作职责
1. 负责智能硬件产品嵌入式软件架构设计,代码编写、调试、维护等工作。 2. 负责智能硬件产品新功能开发和维护。 3. 负责智能硬件产品前沿技术分析调研。 4. 负责技术方案评审,产品开发文档编写。 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.
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
编程规范+
[英文] Google Style Guides
https://google.github.io/styleguide/
Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style.
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://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
HTTP+
https://developer.mozilla.org/zh-CN/docs/Web/HTTP
超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。
TCP/IP+
[英文] What is TCP/IP?
https://www.techtarget.com/searchnetworking/definition/TCP-IP
TCP/IP stands for Transmission Control Protocol/Internet Protocol and is a suite of communication protocols used to interconnect network devices on the internet.
网络编程+
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
脚本+
[英文] Scripting language
https://en.wikipedia.org/wiki/Scripting_language
https://zhuanlan.zhihu.com/p/571097954
一个脚本通常是解释执行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。
相关职位
社招5年以上A96785
1. 负责智能硬件产品嵌入式软件架构设计,代码编写、调试、维护等工作。 2. 负责智能硬件产品新功能开发和维护。 3. 负责智能硬件产品前沿技术分析调研。 4. 负责技术方案评审,产品开发文档编写。 5. 负责已上市产品质量专项、售后问题分析。
更新于 2025-04-23

社招3年以上技术类-开发
1、负责嵌入式系统的BSP软件开发和维护,包括BootLoader、Kernel、rootfs的移植裁剪和优化工作,芯片底层驱动开发、用户态服务和应用开发 2、参与芯片选型,可行性评估,系统方案设计和实施 3、负责与硬件工程师完成单板测试,设计测试用例和产业化流程,对开发过程和现场反馈bug排查和快速修复;
更新于 2025-09-26

社招5年以上技术类-开发
1、负责嵌入式系统的BSP软件开发和维护,包括BootLoader、Kernel、rootfs的移植裁剪和优化工作,芯片底层驱动开发、用户态服务和应用开发 2、参与芯片选型,可行性评估,系统方案设计和实施 3、负责与硬件工程师完成单板测试,设计测试用例和产业化流程,对开发过程和现场反馈bug排查和快速修复;
更新于 2025-09-24