2、5年以上互联网或软件行业工作经验
3、扎实的C/C++程序设计及编码功底,熟悉相关开发环境和调试工具
4、熟悉TCP/IP、HTTP等通信协议,有多线程、网络编程、大规模并发服务器设计开发经验
5、熟悉海量数据的分布式处理、各种分布式计算模型,或者分布式存储、分布式计算系统的设计模型
6、熟悉nginx/sphinx/lucene/redis等开源引擎原理者优先;对开源代码研究较深者优先;对技术狂热追求者优先
首先你要明白嵌入式和软件是两个不同技术领域。嵌入式软件设计是依赖于硬件实现的,而且考虑硬件很多,包括常见CPU架构,体系,外设接口,硬件协议之类的。如果侧重BSP的话需要你能看得懂电路图。如果侧重软件功能的话需要在程序设计上考虑到嵌入式系统的性能局限,毕竟不是PC机和服务器那样子大量ram和高频CPU给你用,还有类似信号处理或控制算法需要熟悉。linux C工程师乍一看干的活和嵌入式中的linux平台软件设计差不多,实际上深入后区别还是挺大的,linux系统一般用在网络设备(硬防,网关,路由器)或服务器中,开发这些软件对于网络方面的知识要求很高,而且从项目管理的角度来讲就属于软件工程领域了,完全不需要关注硬件,反而对于数据库,面向对象,设计模式这些有要求。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)