加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

怎样成为一位「不那么差」的措施员

发布时间:2019-02-21 18:36:57 所属栏目:站长百科 来源:crossoverjies Blog 原文链接:https:
导读:作者:crossoverjie 来历:crossoverjies Blog 原文链接:https://crossoverjie.top/2018/08/12/personal/how-to-be-developer/#more 媒介 已经记不清有几多读者问过: 博主,你是怎么进修的?像我这样的环境有啥好的提议嘛? 也不知道啥时辰我居然成人生

作者:crossoverjie 来历:crossoverjie's Blog

原文链接: https://crossoverjie.top/2018/08/12/personal/how-to-be-developer/#more

怎样成为一位「不那么差」的措施员

媒介

已经记不清有几多读者问过:

博主,你是怎么进修的?像我这样的环境有啥好的提议嘛?

也不知道啥时辰我居然成人生导师了。虽然我不排出这些题目,和各人交换都是进修的进程。

因此也答应会筹备一篇关于进修方面的文章;以是本文着实筹备了好久,篇幅较长,各人耐性看完但愿能有收成。

以下内容仅代表我从业以来所蕴蓄的相干履历,我会从硬手艺、软气力这些方面只管叙述我以是为的  “不那么差的措施员” 该当做到哪些手艺。

手艺树

作为一名码代码的技能工人,怎么说干的照旧技能活。

既然是技能活那专业气力就得过硬,下面我会凭证相干种别谈谈我们应该把握哪些。

计较机基本

一名和电脑打交道的工种,计较机是我们赖以保留的器材。以是一些基本手艺是我们应该和必需把握的。

好比收集相干的常识。

个中就包括了 TCP 协议,它和 UDP 的差别。必要领略 TCP 三次握手的寄义, 拆、粘包 等题目。

虽然上层最常见的 HTTP 也必要相识,乃至是认识。

这块保举 《图解 HTTP》 一书。

接着是操纵体系相干常识。

因为事变后你写的大部门代码都是运行在 Linux 处事器上,以是对付这个看它表情行事主你也得认识才行。

好比历程、线程、内存等观念;处事器常见的呼吁行使,这个没啥秘诀就是得平常多敲敲多总结。

我也是之前兼职了半年运维才算是对这一块较量认识。

Linux 这个天然是保举业界很是着名的 《鸟哥的 Linux 私房菜》 。

看成为一个初学者进修这些对象时必定会认为死板乏味,大学一样平常在讲专业课之前城市有这些基本学科。我信托大部门同窗应该都没怎么细心听讲,由于确拭魅这些对象就算是学会了记熟了也没有太多直接的鼓励。

但当你事变几年之后会发明,只要你还在做计较机相干的事变,这些都是绕不开的,当哪天这些常识不经意的辅佐到你时你会信用当初正确的选择。

数据布局与算法

接下来交涉到另一门死板的课程:数据布局。

这块当初在大学时也是最不受待见的一门课程,也是我独一挂过的科目。

记得其时每次上课先生就让各人用 C 说话操练书上的习题,看着一个个拆开都熟悉的字母组合在一路就六亲不认我坚决选择了放弃。

这也造成此刻的我每隔一段时刻就要看二叉树、红黑树、栈、行列等常识,加深印象。

算法这个对象我确实没有啥讲话权,之前僵持刷了部门  LeetCode  的标题也大多逗留在初中级。

但像根基的查找、排序算法我认为照旧要会的,不必然要手写出来但要领略其思绪。

以是 凶猛提议 还在大学同窗们起劲参加一些 ACM 角逐,绝对是此后的加分利器。

这一块内容也许会在应届生校招时施展较大浸染,在事变中假如你的本职事变是  Java Web  开拓的话,这一块涉猎的几率照旧较量低。

不外一旦你打仗到了模子计划、中间件、高效存储、查询等内容这些也是绕不外的坎。

这块内容和上面的计较机基本差不多,对付我们 Java 开拓来说我认为平常除了多刷刷 LeetCode 加深印象之外,在一般开拓中每选择一个容器存放数据时想想为什么选它?有没有更好的存储方法?写入、查询服从怎样?

同样的僵持下去,此后必定收货颇丰。

同时保举 《算法(第4版)》

Java 基本

这里大部门的读者都是 Java 相干,以是这个强相干的手艺很是重要。

Java 基本则是走向 Java 高级的必经之路。

这里抛开根基语法不谈,重点接头现实事变中高频次的对象。

·根基容器,如:HashMap、ArrayList、HashSet、LinkedList 等,不单要会用还得相识个中的道理。这样才气在差异的场景选择最优的计划。

·IO、NIO 也是必要把握。一般开拓中大部门是在和磁盘、收集(写日记、数据库、Redis)打交道,这些都是 IO 的进程。

·常见的计划模式如:署理、工场、回调、构建者模式,这对开拓机动、扩展性强的应用有很大辅佐。

·Java 多线程长短常重要的特征,一般开拓许多。能领略线程模子、多线程优弱点、以及怎样停止。

·精采的单测风俗,许多人认为写单测挥霍时刻没故意义。但正是有了单测可以提前袒暴露很多题目,镌汰测试返工几率,进步代码质量。

·精采的编程类型,这个可以参考《阿里巴巴 Java 开拓手册》以及在它基本上优化的 《唯品会 Java 手册》

  《Java焦点技能·卷 I》 值得保举。

多线程应用

有了踏实的基本之其后谈谈多线程、并发相干的内容。

想让本身的 title 里加上“高级”两字必定得颠末并发的洗礼。

这里评论的并发首要是指单应用里的场景,多应用的可以看后文的漫衍式内容。

多线程的呈现首要是为了进步 CPU 的操作率、使命的执行服从。但并不是用了多线程就必然能到达这样的结果,由于它同时也带来了一些题目:

·上下文切换

·共享资源

·可见性、原子性、有序性等。

一旦行使了多线程那必定会比单线程的措施要变得伟大和不行控,乃至行使不妥还会比单线程慢。以是要思量清晰是否真的必要多线程。

会用了之后也要思量为啥多线程会呈现那样的题目,这时就必要领略内存模子、可见性之类的常识点。

同样的办理方法又有哪些?各自的优弱点也必要把握。

谈到多线程就不得不提并发包下面的内容  java.util.concurrent 

最常用及必要把握的有:

·原子类:用于并发场景的原子操纵。

·行列。常用于解耦,必要相识着实现道理。

·并发器材,如  ConcurrentHashMap 、 CountDownLatch  之类的器材行使以及道理。

·线程池行使 ,以及相干道理。

·锁相干内容: synchronized 、 ReentrantLock  的行使及道理。

这一块的内容可以然我们知道写 JDK 大牛处理赏罚并发的思绪,对我们本身编写高质量的多线程措施也有许多辅佐。

保举 《Java 并发编程的艺术》 很好的并发入门书本。

JVM 假造机

想要深入 Java ,JVM 是不行或缺的。对付大部门事变 1~3 年的开拓者来说直接打仗这一些内容是较量少的。

到了 3~5 年这个阶段就必需得相识了,以下内容我认为是必必要把握的:

·JVM 内存分别, 知道哪块内存存放哪些内容 ;线程安详与否;内存不足怎么处理赏罚等。

·差异环境的 内存溢出、栈溢出 ,以及定位办理方案。

·分代的垃圾接纳计策。

·线上题目定位及相干办理方案 。

·一个类的加载、建设工具、垃圾接纳、类卸载的整个进程。

把握这些内容真的对现实说明题目起到庞大辅佐。

 对此强力保举 《深入领略Java假造机 》,这本书反重复复看过好几遍,每个阶段阅读都有差异的收成。

数据库

做 WEB 应用开拓的同窗必定要和数据库打不少交道,并且凡是来说一个体系最先呈现瓶颈每每都是数据库,说数据库是压到体系的最后一根稻草一点也不为过。

以是对数据库的把握也长短常有须要。拿互联网用的较多的 MySQL 数据库为例,一些必需把握的常识点:

·索引的数据布局及道理、哪些字段该当建设索引。

·针对付一个慢 SQL 的优化思绪。

·数据库程度垂直拆分的方案,必要相识业界常用的 MyCAT、sharding-sphere 等中间件。

通例行使可以参考《阿里巴巴 Java 开拓手册》中的数据库章节,想要深入相识 MySQL 那必定得保举经典的 《高机能 MySQL》 一书了。

漫衍式技能

跟着互联网的成长,传统的单体应用越来越不得当现有场景。

因此漫衍式技能呈现了,这块涵盖的内容太多了,履历有限只能罗列我一般行使到的一些内容:

·起首是一些基本理论如:CAP 定理,知道漫衍式体系会带来的一些题目以及各个应用衡量的方法。

·相识近些年大热的微处事相干界说、来历以及比拟,有前提的可以阅读  martin fowler  的原文  Microservices ,可能也可以搜刮相干的海内翻译。

·对 Dubbo、SpringCloud 平漫衍式框架的行使,最好是要相识道理。

·接着要对漫衍式带来的题目提出办理方案。如 漫衍式锁 、 漫衍式限流 、漫衍式事宜、 漫衍式缓存 、漫衍式 ID、动静中间件等。

·也要相识一些漫衍式中的负载算法:权重、Hash、同等性 Hash、妨碍转移、 LRU  等。

·最好能做一个实践如: 秒杀架构实践

之前有开源一个漫衍式相干办理组件:

https://github.com/crossoverJie/distributed-redis-tool

同时保举一本入门科普 《大型网站技能架构》 ,出书时刻有点早,从中可以进修一些思绪。

懂点架构

信托各人都有一个架构师的空想。

架构师给人的感受就是画绘图纸,搭好架子,下面的职员来添砖加瓦最终产出。

但着实必要的内功也要很是深挚,就上面罗列的样样必要把握,底层到操纵体系、算法;上层到应用、框架都必要很是能干。(PPT 架构师除外)

我自身参加架构履历也不多,以是只能提供有限的提议。

起首漫衍式必定得把握,事实此刻大部门的架构都是基于漫衍式的。

这个中就得按照 CAP 理论团结项目环境来选择同等性照旧可用性,同时怎样做好得当现有团队的技能选型。

这里保举下开涛先生的 《亿级流量网站架构焦点技能》 ,罗列了许多架构实例,不外网上驳倒纷歧,但对付刚入门架构的能科普不少常识。

怎样进修

谈完了手艺树,此刻来聊聊怎样进修,这也是被问的最多的一个话题。

而关于进修接头的最多的也是看视泼魅照旧看书?

视频

不得不认可视频是获取常识最便捷的来历,事实包括了图、文、声。

大学几年时刻着实我也没好好上专业课,我记得真正入门 Java 照旧一个暑假花了两个月的时刻每天在家里看 ”马士兵“ 先生的视频教程,其时的资源也很老了,记得仿佛是 07 年出的视频(用的照旧 Google )。

那段时刻早起晚睡,天天学到对象之后顿时实践,内心也很有成绩感。其后开学之后一度成为同窗们眼中的”学霸“人物。

 此刻打开我 12 年的电脑,硬盘里还躺着好几十 G 的解说视频。

看书

事变后时刻真的很名贵,完全没有了门生生活的想学就学的自由。以是此刻我首要常识来历照旧书本。

这些是我最近看的书:

IMG_2387.JPG

看书又会涉及到电子书和纸质书的区别,我小我私人较量喜好纸质书。事实我可以利便的记条记以及可以随时切换章节。最首要的照旧从小养成的闻书香的风俗。

常识付费

近几年常识付费越来越风行,很多大佬也插手了这个队列,人们也逐渐在风俗为常识去付费。

说真话写一好篇文章出一份视频都很是不轻易,能有正向的鼓励,作者才气一连输出更好的内容。

这块我认为海内做的较量好我也为之付费的有极客时刻、大佬的常识星球等。

这三点没有绝对的优劣之分,着实可以看出我刚入门的时辰看视频,事变之后看书及常识付费内容。

视频的甜头是可以随着内里先生的思绪一步一步往下走,较量有音视频代入感强,就像学校先生授课一样。

但因为内容较长使读者没法知晓个中的重点,乃至都不敢快进恐怕错过了哪个重要常识,,此刻因为 IT 越来越火,网上的视频大概多导致质量东倒西歪也不成系统。

而看书可以选择性的赏识本身感乐趣的章节,费解的内容也利便重复阅读

以是提议刚入门的同窗可以看看视频随着学,参加事变一段时刻后可以实行多看看书。

虽然这不是绝对的,找到得当本身的进修方法就好。但不管是视泼魅照旧看书都要多做多实践。

打造小我私人品牌

小我私人品牌看似很措施员这个职业不怎么沾边,但在现今的互联网期间对付每小我私人来说都很重要。

以往我们在写简历或是评估他人简历的时辰每每不会想到去收集搜刮他的小我私人书息,但在这个信息爆炸的期间你在网上留下的一点印记都能被发明。

博客

因此我们必要维护好本身的手刺,好比先搭建本身的小我私人博客。

博客的甜头我也谈过屡次了,前期存眷人少不要紧,重要的是僵持,当你写到 50、100篇文章后你会发明本身在这进程中必然是的到了进步。

GitHub

第二点就和技强人较量相干了:参加维护好本身的 GitHub。

因为 GitHub 的非凡属性,维护好后可以更好的打造小我私人品牌。

Talk is cheap. Show me the code  可不是任意说说的。

想要维护好可以从几个方面着手:

·参加他人的项目,不管是代码库照旧常识库都可以,先融入进社区。

·提倡本身的开源项目,不管是平常开拓进程中的小痛点,照旧全心清算的常识点都可以。

但这进程中有几点照旧要留意:

·我们必要遵守 GitHub 的交际礼节。能用英文只管就用英文,出格是在海外厂库中。

·只管少 push 一些与代码事变无关的内容,我以为这并不能进步本身的品牌。

· 别去刷 star 。这也是近期才风行起来,不知道为什么总有一些人会钻这种空子,刷起来的热度对本身并没有任何进步。

这里有一篇海外大佬写的  How to build your personal brand as a new developer  :

https://medium.freecodecamp.org/building-your-personal-brand-as-a-new-web-developer-f6d4150fd217

English 挺重要

再来谈谈英语的重要性,我记得刚上大学时先生以及一些培训机构城市说:

别怕本身英语差就学不了编程,真正常用的就那些词语。

这句话虽没错,但英语在对 IT 这行来嗣魅照旧有着极大的加分手段。

拿常见的 JDK 里的源码注释也是纯英文的,假如英语还不错的话,一些 Spring 的对象完全可以自学,直接去 Spring 官网就可以查察,乃至后头出的 SpringCloud,官方资料就是最好的教程。

再有就是平常查资料时,有前提的可以实行用  Google + 英文  搜刮,你会发明新的天下。

否则也不会有面向  Google/Stack Overflow  编程。

对付英语好的同窗天然不怕,那不怎么好的咋办呢?

好比我,但我在僵持以下几点:

·全部的手机、电脑系完好统换成英语说话,养成风俗(不外也有忧伤的连菜单都找不到的环境)。

·订阅一些英语周刊,好比 ”湾区日报“。

·按期去相同于  https://medium.com/  这样具有影响力的海外社区阅读文章。

固然此刻我也谈不上多好,但今朝我也在全力,但愿各人也一路僵持。

保举一本近期在看的书《措施员的英语》。

保持竞争力

技能这个行业成长敏捷、变革太快,每年也都有无数相干行业结业生插手竞争,稍不把稳就会被遇上乃至逾越。

以是我们无时无刻都得保持竞争力。

多的谈不上,我只能谈下今朝我在做的工作:

·打好基本 。不是学了之后就忘了,必要不断的去看,固定,基本是万变不离其宗的。

·多看源码,相识道理,不要逗留在调参侠的地步。

·存眷行业成长、新技能、新动态至少不能落后了。

·争取每周产出一篇技能相干文章。

·起劲参加开源项目。

思想导图

怎样成为一位「不那么差」的措施员

团结上文产出了一个思想导图更直观些。

总结

本文团结了自身的一些履历罗列了一些要领,不必然对究位都有用必要自行判定。

也反重复复写了差不多一周的时刻,但愿对在这条路上和正在路上的伴侣们起到一些浸染。

大部门都只是谈了个思绪,着实每一项单聊都能写许多。每个点都有保举一本书本,有更好提议接待留言接头。

上文大部门的常识点都有维护在 GitHub 上,感乐趣的伴侣可以自行查阅:

怎样成为一位「不那么差」的措施员

https://github.com/crossoverJie/Java-Interview

crossoverJie wechat

我很有目光!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读