单机篮球手游;如何能入门学习知乎?

篮球零基础,如何系统学习? - 知乎793被浏览86696分享邀请回答2048 条评论分享收藏感谢收起838 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()如何从基本零基础学习打篮球? - 知乎27被浏览4145分享邀请回答0添加评论分享收藏感谢收起有哪些让你感到学到东西的游戏? - 知乎7623被浏览775108分享邀请回答19764 条评论分享收藏感谢收起18540 条评论分享收藏感谢收起查看更多回答22 个回答被折叠()如何自学 Android 编程? - 知乎18560被浏览927265分享邀请回答/另外还可以关注我的微信公众号 googdev,我会不定期分享一些过来人的经验与感悟,相信会对部分同学有帮助。Trinea的博客:代码家的博客: 6. 善于利用搜索引擎,从用Google做起,学会英文关键字搜索,有问题第一时间想到去搜索而不是去请教别人;大家都有了以上相同的教程,但是人和人之间的区别在于:别人有颗更强大的内心,可怕的是比你聪明的人比你还要更努力!!当你下定决心,准备前行的时候,剩下的只有坚持了。。。===============================我是华丽的分割线===============================我是很少在知乎上正经回答问题的,没想到这个回答引起这么多人关注,引起了很多人的共鸣,收获了这么多点赞,这里针对很多人的私心以及评论做点补充吧:1. 回答中提到了培训之路,很多人要推荐培训机构,其实一方面当时没有经验,也比较迷茫,迫不得已才去培训试一试的,后来过来后其实培训学不了什么东西,我后来转行Android完全是自学,和培训一点关系都没,所以不推荐去培训,最终得靠自己;2. 有人问我单独开发的app是什么,我现在公司名是薄荷科技,app也叫薄荷,你可以去各大市场搜索“薄荷”,排名第一的应该就是,从架构到实现一直都是一个人在做,总用户现在差不多过千万了,当然现在已经不是一个人在开发了,现在带领一个小团队在做,你可以下载体验下,不过现在依然有很多不足之处,我们一直在努力改进;3. 文中提到我学习了很多语言,很多人比较疑问,是都需要学这些语言么?当然不是,我是因为走了不少弯路,有些语言为了工作不得不去学的,不过后来证明学的这些东西对自己是有很大帮助的,但是如果你确定了方向建议你直奔主题,现在社会需要一门精而不是门门通的人才,现在有很多“全栈工程师”的概念,其实都是在建立在一门精的基础上才去别的领域发展的,所以不要妄想一开始就成为“全栈”,还有如果你对当前做的事很抵触,觉得一直纠结在功能上,但是又没法去改变的时候,不妨竭尽全力把当前做的事做好,后面你会发现有事情做自己不知不觉总是会进步的;4. 很多人找到我博客,搜索到我被Facebook邀请,具体见这篇博客
, 虽然这算是对自己技术能力的一个认可吧,但是在技术上远没有大家想象的那么牛逼,我一直在努力提升自己的技术,但是仍然有很多需要学习的,自己也一直在坚持学习,现在也一直想靠自己的技术来改变自己的生活,起码不拼爹(主要是拼不了),但是后来才感觉到技术并不是一切,千万别陷进无止境的技术坑里,有很多事情比技术更重要,这个就等待大家自己慢慢发掘领悟吧。。。7.5K443 条评论分享收藏感谢收起
1.4 找工作
1.4.1 策略
当你不断的学习和做项目总结经验,总结遇到的坑和解决方案后,这个时候我们要从草根发展走向专业之路了,所以我们需要一份工作。
面试的时候,大公司对于应届生的要求主要还是集中在基础,所以对于数据结构+算法以及计算机基础知识是非常重要的。
1.4.2 资料
这个时候我的学习资料主要是:
不过很遗憾的是,后面2本看得比较少了,操作系统更是无法看懂,于是乎只能更多的去刷一些题目。
1.4.3 面试策略
内推+面试经验
内推最好的就是联系上你心仪公司或者产品的直接负责人、面试官或者开发者,比如你可以联系我,QQ空间和腾讯微云(我会直接面试你)都在招聘(强行做个广告)。社交平台是联系他们最好的渠道了,我那个时候就是通过微博找到了百度云的移动端负责人,然后获取了面试的机会(那个时候我们还在做一个百度通讯录的产品)。
面试的策略比较简单,就是先去一些自己不太愿意去的公司,多积累面试经验,把那些不会的都去搜索答案,然后弄懂弄会,然后再去面试自己心仪的公司和产品。
1.4.4 系统学习
进了公司之后你会发现,以前你写的都不是商业化软件,只是实现了功能,完全没法去保证质量和设计。所以工作后有很好的机会去学习商业软件的开发,在这个过程中也是要多依靠自己不断的学习提升,这就是我们的下一个话题了----中级工程师之路update:日
2、中级之路
中级开发者更多还是能够比较好的完成一个大型商业软件的核心功能模块,或者中小型商业软件的整体架构。
2.2 技能树
很多人想要知道技能树,比如通用的:
计算机网络、数据库、存储,数据结构、软件架构和设计、编码语言以及平台特性等技术点。
还有很多很多的技能树,而这些其实都依赖于你的项目经验和项目特性,为了点亮这些技能树,我们抽象出来更抽象层级的技能树。
2.2.1 解题思路为什么解题思路很重要
很多人不解的是,为什么很多大公司总喜欢问一些算法题,而忽略自己的项目本身。其实很多时候当你的项目经历不够或者还不够深的时候,面试官了解不了你得解题思路,不知道你遇到其他复杂问题的时候是否有好的方式去解决。
实践出真知,我来考一个问题,这个是我们实际开发中就能遇到的,比如我们设计了一套数据通知机制,存储结构是链表,这个链表的排序方式是ModifyTime,现在有通知过来要更新一个数据,这个更新的数据ModifyTime也已经变化了,怎么能更高性能的去更新这个数据呢?(这个问题还可以深入下去,除开ModifyTime排序外还可以依赖更多排序规则,这样你的数据结构又是如何),这个策略的优化足够的让我们在大量数据的时候量级的优化性能。 如何提升解题思路
(一)基础扎实
首先我们要有比较扎实的基础技术能力,这个题目我们要的是扎实数据结构和算法能力,如果我们要做上传下载速度模块,那我们就会需要很强的计算机网络和存储这块的基础知识了,这些基础是我们解题思路的保证。
(二)学习很重要
这个学习是学习前人的,学习别人的,其实做很多事情都是有套路的,多去看源码和优秀的一些组件,多跟组内大牛交流,了解别人怎么做的,往往能让我们思路更加的开阔,从而让我们也有更加多的解题思路。
软件架构和设计
知道解题是第一步,思路有了,但是如何才能让我们的代码更加方便维护和扩展呢?
现在的大部分童鞋都是基于面向对象的开发方式了,大家知道为什么你的项目开发不用面向过程的写法呢?(虽然很多时候我们还是面向过程的开发) 面向过程 VS
以前我们总是吐槽,产品经理没事就改需求,互联网产品的开发更多的时候是面向变化的,而面向过程的开发是需要明确需求的情况下开发的,否则一旦需求变化你的流程可能就全不对了,整体都需要重写。这也是为什么,我们很多时候用面向对象的语言基于面向过程的开发,在需求变动后是那么的难以维护,所以只有吐槽产品经理。如何提升
很多人对没有设计经验的同学推荐设计模式的书籍,这些我是不推荐的,那些设计模式是我们在建房子基础上的装饰,最关键我们要解决的问题是: 如何从现实世界映射到对象世界如何通过对象世界去描述现实世界的方法如何验证对象世界的行为是否正确反映了现实世界的方法。这里我推荐一本书:
有了这个基础之后,你可以看看设计模式,更为重要的是多看优秀组件或者系统源码,这些源码的设计和对设计模式的应用是非常多的,能帮助你在良好的建模之后还产生更多优雅的代码。
2.2.3 经验(一)经验的作用
好的工程师有丰富的开发经验,一个业务在你做之前他就知道瓶颈在哪里,需要注意哪些地方?
举个例子:关于错误码的设计,一个业务模块错误码的设计是否可以随意设计呢,只要和后台不重复即可?
那么问题来了,我们现在要针对一些错误进行重试,那么遇到错误码后我们怎么区分应该重试还是不重试呢?如果写死几个错误码,那以后扩展了怎么办,后台下发如果不及时或者错误码越来越多了怎么办?
这个时候老司机会告诉你,老司机会告诉你HTTP的错误码设计很好,因为他是依赖数字段:(二) 如何拥有丰富的经验
项目经验+总结+重复造轮子
项目经验丰富你自然而然懂得就多,踩过的坑就越多,多总结你才能记忆更深刻,更加能够系统性的去归纳这些经验,重复早轮子你才能知道没做过你总会错过那么多的坑。多看优秀的源码,有可能的话重复造一遍也挺好的。
2.3 开阔的视野
很多国内技术项目怎么来的呢,因为国外有优秀的解决方案了,比如当年FB解决了2.3的LinearAlloc的问题,国内的解决方案开始爆棚了。比如FB的Buck构建,国内多少技术团队基于此做了构建优化(也得到了晋升)。这里我就不多说了,有能力的同学多做做创新吧。这个问题值得大家收藏下
2.4 培养他人和带领技术团队的能力
这个领域我暂时就不展开了。接下来就是高级之路的分享了
3、高级之路未完待续PS:知乎排版怎么都给丢了,大家将就着看吧。。。20233 条评论分享收藏感谢收起查看更多回答5 个回答被折叠()如何成为一名篮球体能训练师?有何途径?该如何学习? - 知乎14被浏览3838分享邀请回答172 条评论分享收藏感谢收起}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信