主要負責設計并實現機器人上位機與瀏覽器、下位機、管理后臺及云端服務之間的所有網絡通信鏈路,確保其高可用、低延遲。
1、負責AI產品Ubuntu桌面端應用程序的全流程開發,包括需求分析、架構設計、編碼、測試、部署和維護。
2、熟悉C++ 下的 TCP/UDP Socket 編程及 WebSocket 協議,能夠解決多路連接下的數據包排序、丟包重傳、流量控制等網絡疑難問題。要求熟練使用 gRPC 或 RESTful API 框架(如使用libcurl)與云端后臺進行高效、安全的數據交互。配合web前端實現核心用戶交互界面,包括但不限于:主交互窗口、聊天對話界面、設置面板、語音/視覺交互反饋UI等。
3、熟悉ROS 2 框架,通過Topic與下位機實現指令交互。
4、熟練使用SQLite 數據庫在C++項目中的集成與開發,具備豐富的數據庫設計、SQL語句編寫及深度性能優化經驗。深刻理解數據庫事務、索引優化等概念,能保證數據操作的原子性和一致性。
5、熟練使用WebRTC 或基于 WebSocket 的自定義協議,實現實時視頻流渲染。熟悉主流視頻采集框架,能夠進行攝像頭驅動參數調優。
6、熟練使用 GStreamer 或 ALSA/PulseAudio 等庫進行麥克風音頻采集,處理麥克風錄音、揚聲器播放等功能。
7、熟練掌握多線程編程和進程間通信技術。
8、深度集成Ubuntu桌面環境,實現應用自啟動、后臺服務管理等。
9、進行客戶端性能優化,降低內存和CPU占用,保證應用長時間運行的穩定性和流暢性。
崗位要求:
1、碩士以上學歷,計算機相關專業。3年以上 Linux平臺桌面應用程序開發經驗,需精通Ubuntu系統及其桌面環境(GNOME/KDE),熟練掌握C/C++、Makefile、Shell,有良好的編碼規范;
2、熟悉軟件工程/項目開發流程基本的理念和要求,有良好的文檔設計規范;
3、熟悉常用的數據結構與算法分析;
4、熟悉Linux應用編程,多線程編程,網絡編程;
5、熟悉Linux內核驅動編程;
6、熟悉常用的網絡通信協議;
7、Linux內核理解較深,對應用進程/內核的掛死、內存泄露、死鎖等問題有較豐富的方法和經驗者優先。
8、多媒體處理經驗: 有音頻處理、視頻播放、動畫實現經驗者優先。