小米 – Android研发工程师 职位分析和面试指导

职位描述:

1.负责小米互联网相关业务的客户端的研发工作,包括需求沟通,及功能设计与开发等;
2.负责小米互联网相关业务的性能和体验的优化,包括播放、内存、卡顿等;
3.负责小米互联网业务安卓客户端基础组件的研发和维护
4.和产品/测试/运营进行密切沟通,能够根据需求提出合理技术方案;
5.技术预研和技术难点攻关,保障系统可用性、稳定性、和可扩展性。

职位要求:

1.具有5年以上Android开发经历;
2.具有良好的java编程基础,具备基本的算法能力,掌握常用的设计模式,熟练使用常用的开源库并了解基本原理;
3.熟练使用Android平台的各种性能优化工具,具备性能和内存优化的经验;
4.有Android平台音视频类App的开发经验,熟悉Android播放器框架,了解HLS,DASH等流媒体协议,有使用ExoPlayer, ijkplayer等开源播放器的经验,了解其基础架构和原理;了解主流直播引擎工作原理;有音视频codec相关开发经验者优先;
5.具备良好的分析问题/解决问题能力,以及团队沟通协作能力
6.工作认真,自驱力强,编码严谨,追求极致性能。

招聘部门:

小米

工作地点:

北京市 ID:A130110

面试建议:

小米的Android研发工程师职位特别注重候选人在音视频领域的专业能力。从职位描述可以看出,这不仅仅是一个普通的Android开发岗位,而是需要深入理解播放器框架、流媒体协议以及性能优化的专业角色。面试官很可能会重点考察你在音视频处理、性能调优方面的实际经验,以及你如何解决复杂技术问题的能力。 在准备面试时,建议你重点复习Android播放器框架相关知识,特别是ExoPlayer和ijkplayer的使用经验。准备好你在性能优化方面的实际案例,包括内存优化、卡顿优化等具体指标提升的数据。同时,由于职位要求中提到’追求极致性能’,你需要准备一些能够体现你严谨编码风格和追求技术极致的项目经历。团队协作能力也是考察重点,可以准备一些跨部门合作的案例,展示你与产品、测试团队沟通协调的能力。