熟悉c语言和c++语言,熟悉linux系统,熟悉网络,熟悉主流应用程序的抽象方法,熟悉大型系统和分布式系统的常见架构,熟悉嵌入式和计算机理论,熟悉主流数据结构和常用算法。能够通过阅读代码和文档快速理解既有项目。能够快速上手应用或修改陌生的开源软件。能够精确画出既有项目和增量开发内容的结构框图和相关时序图。能够熟练阅读他人写的代码并找出问题且提供测试思路和修改方法。能够改善既有项目的构造环境以及自动化程度。能够熟练应用各类调试手段快速定位问题并分析解决办法。能够编写比较完善的功能测试或集成测试用例。能够编写符合项目风格,已读,且安全规范的代码。
曾经做过网络设备(交换机和路由器等)内的软件开发。主要负责二层认证相关特性的开发。期间,使用到的技术主要是linux应用层软件的开发,相关的业务领域主要涵盖标准协议实现和网络用户体验。这是由整个平台开发部(约240人)运作的超大规模且永不停止的软件项目。我的工作主要包含两部分,以新增特性的方式增量开发客户需求和定位并解决客户现场或历史版本的问题。开发过程中需要基于我们自研的系统框架调用其他模块或进程提供的接口或提供接口供别人调用。由于网络软件的效率及可靠性要求很高,所以在开发业务或修改bug时会事无巨细地考虑分布式情况,热备情况和热升级情况。
除此项目外,还在做c++讲师期间自己研发了一个教学用的游戏服务器项目。该项目是将游戏业务套在了一个并发服务框架上完成的。该并发框架也是由我完成的,这是一个基于linux经典系统调用和并发模型封装并做了比较复杂的抽象而来的。项目仓库:
https://github.com/marklion/zinx