[置顶] 百度实习总结

在百度实习有5个月了,之前跟经理聊了很多,一直都想把有些东西总结一下,这几天自己也想了很多,所以觉得有必要把有些东西记录一下。当然下面所涉及的东西有些会跟Android相关,主要把跟经理的一些对话结合自己的理解写出来,仁者见仁,智者见智,希望能给自己以后的道路一点鼓励。

1、如何选择一个适合自己的公司(团队)?

一个公司(团队)适不适合你,这主要取决于两个方面:一个是你能给公司(团队)带来什么,另一个是公司(团队)能给你带来什么。第一个是属于公司(团队)的择人标准,第二个是属于你选择公司(团队)的标准。如果这两个方面都满足,那么这个公司(团队)可能就是你想要的。

2、公司(团队)能给我们带来什么,这里我们具体需要关注哪些方面?

成长,最重要的就是成长,你们刚踏入职场,不管是技术还是其他方面,有很多的东西都需要去学习,所以不要盲目跟风,看着别人挤破头都要去BAT,你也跟着掺和,却不知道为什么,BAT确实在成长方面能给新人带来很多的帮助,这个毋庸置疑,因为它们不管在技术方面还是其他方面都比较成熟,但是能够帮助你成长的其实也不止BAT,所以这点看你怎么去思考和把握,因为你们从学校出来,起点都差不多,重点还是看你怎么去选择,这个对你们未来的职业发展非常的重要,尤其是做技术的。有的人可能成长为大牛只需要三五年的时间,有的人可能需要十年,所以,你们在找工作时候,千万不要计较别人的工资比你多个一两千,或者你的工资比别人少什么的,而是要看这个公司能给你的成长带来什么帮助,它能不能使你快速成长起来。因为物质报酬跟你的水平绝对是成正比的,三五年之后,不同的人,工资的差距可能就不是一两千块钱的事了。当然这里公司能够给你带来成长的前提是你也要足够的努力。

3、我应该如何来把握这里所说的成长?

这个确实应该好好的把握了,趁着年轻,时间和精力比较充足的时候,一定要好好努力,脚踏实地,把自己的水平快速的提升起来,因为每个人发展到一定的水平,可能就会达到一定的瓶颈,年轻有精力的时候,你还可以好好的突破一下,等你年纪稍微大一点,有了家庭和孩子,那么在工作上面你就可能投入不了那么的精力了,因为你的精力已经分散了,这个时候你想突破一下就基本很难了。下面有两个成长曲线图。

[置顶] 百度实习总结_第1张图片

4、在Android的学习方面,我觉得自己基础还行,后面我应该怎样突破?

在Android的学习上面,Google的官方文档是第一手资料,应该好好的进行学习,如果你能够把Google的开发文档好好的研究两遍,它里面基本覆盖到了所有的知识点,如果你都弄明白了,那么这个时候你的水平应该就不低了。

5、我是否应该研究阅读Android系统源码?

可以去尝试阅读,但不要去泛读,要有目的性的去读,另外需要有针对性,也就是不要找哪些太过庞大、太过庞杂的来阅读,因为这个你根本看不明白,可能时间花费了不少,却也很难有收获,而是应该找一些比较重要而且相对比较容易的来进行着手,例如:Android里面的Hander的原理是什么?AsynTask的实现原理是什么?这些比较适合着手,通过阅读它的源码实现,来把握它的内部实现原理,这样就比较有收获,而且这些也是经常用到的。所以,阅读源码的时候,要有选择性的读,不然很难有成效,因为有很多东西还是比较难理解的。

6、在代码水平和风格上面我应该怎样来提高?

不同的人可能代码风格不同,但是代码风格却能体现一个程序员的水平,你可以把你一年前的代码跟现在的进行对比,如果没有什么改善,就说明你基本没有什么提高,你可以从两个方面着手:1、多阅读一些高手写的代码,进行研究,要知道为什么别人要这样写,这样写对程序的性能或者可阅读性等等方面有什么好处,我能不能改善的更好。当然你找的这些应该是一些水平比较高的代码,现在GitHub上面有很多的代码,但是很多写得都比较垃圾,谷歌官方源码算是最规范的。2、自己一定要多实践,多写Demo,如果你不多实战,就很难提高,在写的时候,一定要结合自己阅读代码的经验以及编程经验,进行揣摩,这个地方到底应该怎样写,如果换种方式是不是会更好,这样你才能不断提升。例如,在有些Android代码中,为什么会用ArrayMap或者SparseArray而不使用HashMap。另外,你可以在GitHub上找一下比较好的源码,看看它的效果,然后想想自己如果来写这个效果应该怎么写,尝试写出来,然后跟别人进行对比,看自己为什么实现不了,或者实现了为什么别人写的比自己好,或者自己能不能写的更好。写代码不光是实现了就好了,同样的功能,可能不同水平的人实现方式是完全不同的,所以必须注重自己的编码水平。

7、现在别人面试经常会问到设计模式,我需不需要好好的研究一下设计模式?

设计模式这个东西最忌讳的就是生搬硬套,有些代码实现起来本来很简单就能完成,但是有些人就喜欢搞点高级的东西进行,生搬硬套搞个设计模式来实现,反而画蛇添足,所谓的设计模式,就是程序员在编程中不断实践最终总结出来的比较好的设计思想,所以没有必要把它看得太神圣,最重要的是把握它的思想,并且能够灵活的运用,如果在工作过程中,发现某个需求的实现正好可以借用某个设计模式来做,而且很恰当,那么就可以使用进去。总之,要把握思想,灵活运行,像我们在工作过程中往往会对某个设计模式进行改进,因为它改进后的实现效果可能更加适合我们的项目,这就是灵活运用。

8、提不提倡写一些博客什么的?

这个是提倡的,我读书的时候,也经常写博客,现在少了,但没写的原因是因为现在精力有限,没有那么多时间,现在我也经常在GitHub上面写一些札记。写博客最大的好处是你能把一个东西彻底的弄明白,有的时候,你可能觉得你明白了,但让你写出来可能就不行了,就算你可以写出来,如果让你能够写得让不懂的人也能看明白,可能需要很多的工作,而这些工作在无形中让你彻底的把某个知识点消化。所以写博客在促使自己的进步上面有很大的作用。另外,好记性不让乱笔头,很多东西你需要在你很通透的时候把它记录下来,这样就可以随时进行温故复习巩固。

9、现在互联网好像不太景气,找工作好像挺困难的,另外感觉校招太注重算法了?

这个是你没法把控的,但是你必须弄清楚的就是,只有你有能力,没有哪家公司会轻易将你拒之门外,另外,校招注重算法,这是它的人才筛选标准,可能会对有些人来说感觉不是很公平,但是,大家的起跑线是一样的,这就要你去好好准备了。

你可能感兴趣的:(百度,实习,心得)