数据结构论坛

首页 » 分类 » 分类 » 程序员是专一点还是广一点更好
TUhjnbcbe - 2023/8/27 21:08:00
哪家医院治疗白癜风 https://yyk.familydoctor.com.cn/2831/detail/

对于一名优秀的技术人员来说,究竟是专精一块技术方向,做到深耕其中所向披靡;还是谋求“什么都能略懂一点”的广度,成为一个全方位的人才?这其实是一个职业发展和学习规划路线的问题,许多同学都有这个困扰。

你学操作系统的时候,会发现有一个叫缓存的东西,看一下原理,也挺简单,就是空间换时间嘛。

然后你学一门语言开始试着做一些小项目,会发现有些数据经常被读、但很少修改,感觉没必要每次都读数据库,于是你在项目里临时用map存起来,写操作的时候才去操作数据库,然后一想,诶?这不就是缓存吗。

然后你开始实习了,发现大家现在都搞分布式微服务,自己在内存里用map会导致数据不一致,然后在别人的代码里发现了一个叫做redis的东西,想起面经里好像背过,看了看简介,原来是一个贼快的内存数据库,可以解决分布式缓存的问题。

没跑题,这是很多程序员从学校到职场的经历。我只是想论证,绝大多数知识都是相通的,是可以举一反三的。

所以,精于基础,广于工具。

所有的基础课程,都是历代大佬的经验总结大浪淘沙后留下来的,在所有上层应用中无处不在。

比如语言,语言差异再大,落在最底层无非也就是操作系统的磁盘读写、内存分配、cpu分配、垃圾回收这套东西,实现千差万别,思想大同小异。

所以,如你题目中所说,操作系统数据结构这些有多重要?

最重要!

搞清楚操作系统,你就知道原来语言是殊途同归的。

搞清楚数据结构,你就知道为什么所有语言都会有数组、链表、哈希,什么时候该怎么用。

搞清楚设计模式,你去看绝大部分框架原理的时候效率都会成倍增长。

把基础的理论知识和思想尽可能的搞清楚,语言、框架、工具,广泛涉猎。

面对一百个不同的需求,用一种工具,不管是否合理是否适配,都能够实现它们,这应该就是你所说的精。

能够快速的从一百种工具中选择合适的工具并上手,实现对应的需求,这叫解决问题的能力。

最后,我喜欢三体,但并非因为辛辣的讽刺或异想天开的脑洞,而是因为大刘道出了一个许多人本末倒置的事实:

应用是理论的扩展,工具是知识的延伸。

1
查看完整版本: 程序员是专一点还是广一点更好