26
2017
09

【internship life】实习心得

从盛夏到初秋,北京的天气已经变得有些凉爽了,历时三个月的实习生活也即将结束,走之前把实习生活总结一下,收拾好行囊和心情继续前行。

2017年7月10日,经过前一天晚上认路,这次很顺利的找到地方,到小米科技有限责任公司办理入职。中午之前就办理结束,回到自己的部门,找到工位,领取固定资产,开始我的实习生活。

实践内容:刚开始的第一周,认识同事,搭建开发环境,学习一些常用的工具使用。跟着导师熟悉企业编码规范,了解项目架构以及一些主要内容。后来就开始真正动手做一些东西,熟悉MVP架构和RxJava、EventBus框架,并且用MVP架构重写一些页面,比如:直播、观看以及回放页面顶部区域的编写,以及用户资料悬浮窗页面的编写,在进行这些工作的过程中,遇到了一些问题,比如,顶部区域有一些复杂的动画,以至于宽度会变化,编写起来较为困难,经过查阅资料以及和导师沟通,最后通过提前进行measure获取宽度解决这个问题,并用 AnimatorSet解决多段动画播放的问题;完成了用户资料编辑页面的编写,这个过程中遇到的问题是适配,因为android7.0之后对权限的检查发生了变化,更加的严格,而我的android测试机并不是android7.0以上的版本,所以并没有注意到这个问题,经过测试部门同事的测试,向我提出了这个问题,在7.0以上的机器程序会崩溃,经过我分析查询,发现是7.0以上不允许使用 file:// 形式的 Uri ,这个问题的解决方式改动挺大的,添加权限检查以及使用FileProvider解决android7.0以上的问题,使用 content:// 形式的 Uri ,虽然比较麻烦,但是也收获了很多;完成了请红包结果页面的编写,使用比较新的控件 RecyclerView 进行抢红包结果排行榜的展示;优化了直播观看页面上下滑动切换房间的效果,在这个需求完成过程中,我对之前学习的一些理论只是进行了整理,因为这个过程用到了 android 中很重要的一部分知识,不仅仅是 animator 使用的更加熟练,对 android 的事件分发机制也理解的更加深入,了解事件的传递规则以及滑动冲突的处理方式,以及更加底层的一些内容,懂得了处理复杂的滑动事件,收获很多;最后的几周,接到了一个新功能的需求,让我自由发挥去给游戏直播中主播端桌面悬浮窗的礼物播放,刚接到这个需求感觉自己可能无法完成,认真分析了半天,并且和导师商量之后,有了一些思路,开始自己动手去做,因为是礼物播放,所以自己写了一些模拟数据去调试,自己去设计 UI, 和设计师商量之后,确定 UI 显示样式,自己去实现 UI ,实现动画,最后用动画展示出来,后来用 EventBus 完成事件的接收,交给测试去测试;……

实践经验:其实我是很不愿意去总结的,三个月真实又厚重的经历,变成文笔不好的我的寥寥几千字,看起来仿佛平淡又无趣。就当是通过总结来回忆三个月的经历,给自己以后正式的工作总结一些经验吧!

1、不耻下问。刚开始工作的时候,一定要将自己置成什么都不会的状态,多问,当然问之前也要自己去思考解决方式,如果思考一个问题超过一个小时还是无法解决的时候,就可以问人了,一定要多问,一方面这个是和导师以及同事的关系拉近的一种很好的方式,另一方面是提升自己的好时机,站在前人的肩膀上看的更远,也能避免走很多弯路;

2、负责任。对自己做的内容负责任,对自己写的代码负责任,身为一个实习生,可能待几个月就走了,但是你留下的代码还要交给别人去维护,如果自己写的代码自己都看不懂,让别人怎么维护。体会过几次改别人的bug,有的人写的很工整,结构很清晰,很容易找到问题所在,有些结构混乱可能连代码编写者都看不懂,怎么奢求别人去维护好。做一件事情,就把它做好,最好每次完成之后 review 至少一次。

3、兴趣。听过雷军说一句话,感觉很有道理,像写诗一样去写代码,虽然我没有写过诗,但是大体能够体会这种感觉,就是热爱,热爱写代码,热爱让别人看我编写的内容会是赏心悦目的感觉,热爱自己做的内容被几十万乃至更多用户使用的感觉。毕竟这将是我未来的主要工作,如果我都不热爱它,那我一定会不快乐。

4、可能会出错的地方一定会出错。这个是针对软件开发,因为一般企业的软件用户都很多,不能侥幸的认为正常情况下不会出错就真的不会出错,在用户很多的情况下,所有偶现都会成为毕现,好的开发,就需要把事情做到极致。

5、多总结。虽然不喜欢,但是毋庸置疑,这是成长必不可少的一部分。可能工作之后,需要去完成需求过程中会碰到各种各样的问题,这时候就需要把这些内容记录下来。因为不总结的活,下次碰到还是需要花费时间去寻找解决方案。得不偿失,提前花费少量时间去总结,避免这种问题。

实践后计划:回学校之后学习一门脚本语言。这只是第一步,实践过程中发现自己学习的面太窄了,同事都会使用各种各样的语言去辅助开发,感觉自己需要学习;多了解一些新技术,在这样日新月异的环境中,止步不前就是退步,希望自己可以一直进步。

实践心得:经过三个月的实践,学习了很多内容;也和同事建立了深厚的友谊,给我的学习、工作以及生活都产生了一定的影响;了解了小米的企业的文化,也佩服企业创始人的品行和决心,为能够在小米实习感到无比骄傲;也通过了转正的面试和考核,获得了正式工作的机会。

上一篇:多线程和异步处理 下一篇:Window上搭建 ES6语法测环境