已成功拿下字节、腾讯、脉脉offer,架构师必备技能

前言

程序员,近年来十分火爆的职业,凭着巨大的市场缺口和高额的薪水吸引着大量毕业生加入程序员的队伍。这其中就包括各类专业的学生,像我这种自动化专业的也在其内。这些不是计算机科班出身的可以看作是半路出家了。那么半路出家程序员和计算机专业出身学生有什么区别呢?

先来看一张计算机专业的大学课程表:数据结构与算法、计算机组成原理、汇编语言程序设计、Java语言程序设计、C/C++程序设计、操作系统、计算机系统结构、数据库系统原理、网络编程与计算技术、软件工程、计算机网络、软件开发方法等。

惭愧的说,就上过一门c语言程序设计。毕业找工作也是靠自学编程,然后牛客网(巨牛刷题网站)刷题,看某些面试宝典,做一些小项目才搞定一份工作。像面试某个知名公司时候,当场手写链表逆序程序,以及IP地址的划分规则,感觉是当场就被秒了。既然认识到差距,总是要弥补的。结合自己的学习过程总结了以下几方面。

40个改变编程技能的小技巧

1、将大块代码分解成小函数

2、今日事今日毕,如果没毕,就留到明天。

如果下班之前还没有解决的问题,那么你需要做的,就是关闭电脑,把它留到明天。
中途不要再想着问题了!

3、YAGNI原则

「You aren’t gonna need it!」
你自以为有用的功能,实际上是用不到的。除了要求的核心功能,其他功能一概不要部署。
这一原则的核心思想是,尽可能快、尽可能简单的将软件运行起来。

4、不必全知全能,但基础一定要扎实

比如学习一些基础知识,SOLID原则,如何写干净的代码等等。

5、KISS原则

「Keep it simple,stupid.」or「Keep it stupid simple.」,一种程序设计原则。
大多数系统往往「最简单」,运行效率最高,但实际操作起来并不简单。

6、别想太多

7、被问题/Bug卡住时,walk away!

不过还是要记得回来。

当你走在去上班、去厕所、去散步的时候,也许就能想到解决方法。
尤其是在与客户、同事生气时,甚至关乎你工作去留的时候,效率会更高。

8、学会写测试代码TDD

TDD是一个软件开发过程,它依赖于重复一个很短的开发周期:写一个测试,运行所有的测试,看看新的测试是否失败,写一些代码,运行测试,重构代码,重复。

9、先分解问题再开始写代码

不要不知道怎么做就开始写代码。

10、代码不要死记硬背

要理解逻辑。

11、学好用好Stack Overflow

如果你复制粘贴一个Stack Overflow解决方案,请一定要确保已经理解了它。

12、不要「光学不练」

如果你想学点什么,就去练习,光学是不够的。

13、与小伙伴互相审查代码

研究别人的代码,让别人时常研究你的代码。
互帮互助,共同进步。

14、Don’t Reinvent The Wheel

「不要重新发明轮子。」
充分利用已有的经验和成果,避免不必要的投入和浪费。

15、你的代码是最好的文档

16、懂得如何搜索

对于这一点,你需要有经验以及读很多书,才知道要找什么东西。

17、写代码时要之后维护考虑

你的代码将来需要你自己或者别人来维护。
所以,写代码的时候要考虑到读者,而不是想成为最聪明的人,让它读起来就像在读一个故事。

18、复制粘贴

用谷歌、百度解决错误的最好方式就是「复制粘贴」。

19、不要放弃

到最后,不管用什么方式,问题肯定会解决。

20、休息、休息再休息

解决问题的最好方法是有一个安稳的心态。

21、学习软件设计模式

设计模式是软件设计中常见问题的解决方案。每一种模式就像一个蓝图,你可以自定义来解决代码中常见的设计问题。(不要重复发明轮子。)

22、使用集成工具

尽可能实现自动化。

23、Do code katas.

「Code kata」是编程中的一种练习,可以帮助程序员通过练习和重复来提高他们的技能。

24、依赖注入是一个要求

编程到一个接口,而不是implementation。
所谓依赖注入,就是组件之间的依赖关系由容器在应用系统运行期来决定,也就是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中。

25、重构-测试-重构

重构是一种对现有代码进行重组的技术,在不改变其外部行为的前提下,改变和改进其内部结构。

26、及时寻求帮助

不要浪费时间。

27、Practice makes perfect.

业精于勤。

28、不必太在意评论

虽然有时评论可以帮到你,但不要太过在意。他们可能已经过时了。

29、了解你的开发环境

了解你的开发环境,并invest一个足够强大的环境,如,IntelliJ。

30、复用组件

31、考虑相关限制

在开发网络应用时,要考虑到移动优先以及相关的功率和带宽限制。

32、不要过早优化或重构

更重要的是尽快拥有一个最低限度可行的产品。

33、不要投机取巧

千万不要为了节省几分钟的时间而选择效率低下的捷径方式。
「Every time you code, give your best!」

34、遵循规定的标准

35、用户不是技术人员

当你开发你的UI时,需要考虑到这一点。

36、坚持使用Github或bitbucket

可以进行小规模、频繁的git提交。

37、记录所有关键部分

记录系统日志比调试代码更好。

38、风格保持一致

如果你使用一种风格,请总是使用相同的风格。
如果你和更多的人一起工作,对所有的团队都使用相同的风格。

39、Don’t stop learning

但比起学习新语言或框架,更要注重学习软件开发的基础知识。

40、patience and love

最后,对你正在做的事情保有足够的耐心和热爱。

最后

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

我把自己这段时间整理的Android最重要最热门的学习方向资料放在了我的腾讯文档上,里面还有不同方向的自学编程路线、面试题集合/面经、及系列技术文章等。

资源持续更新中,欢迎大家一起学习和探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
爆肝三万字的《数据仓库体系》是一本深入且详尽的学习资料,涵盖了数据仓库的方方面面。通过阅读和学习这本书,我对数据仓库的概念、架构和实践有了更深入的了解,同时也掌握了相关的技术和工具。 通过研读这本书,我掌握了数据仓库的设计原则和方法,了解了ETL(抽取、转换、加载)过程,以及各种数据模型和数据仓库架构。通过理论学习和实践操作,我能够进行数据仓库的需求分析、逻辑设计、物理设计和实施,可以从原始数据中提取、清洗和转化出有价值的数据,形成信息化的决策支持。 除了理论知识,这本书还介绍了各种数据仓库工具和平台,例如ETL工具、数据库管理系统等,我能够熟练地使用这些工具进行数据仓库的建设和管理。我还了解到了数据挖掘和商业智能的相关知识,这些都是数据仓库体系的重要组成部分。 在阅读这本书的过程中,我不仅拓宽了自己的专业知识,也培养了自学能力和解决问题的能力。通过实践项目,我能够从实际需求中分析和理解问题,并提供解决方案。同时,我也锻炼了自己的团队合作和沟通能力,能够与他人共同完成项目,并达成共同目标。 因此,通过爆肝三万字的阅读与学习,《数据仓库体系》帮助我掌握了数据仓库的核心知识和技能,轻松拿下字节offer。我相信在未来的工作中,我能够运用所学的知识和技能,在数据仓库领域做出卓越的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值