认知自己的技术栈盲区
持续坚持原创输出,点击蓝字关注我吧
作者:小傅哥
博客:https://bugstack.cn
❝沉淀、分享、成长,让自己和他人都能有所收获!😜
❞
目录
一、前言
二、技术栈采集问卷
1. 组织了一波采集活动
2. 汇总出来的技术栈列表
三、汇总技术架构图
1. 负载
2. 网关
3. 架构
4. 治理
5.框架语言
6. 服务
7. 数据
8. 环境
9. 支撑服务
四、总结
一、前言
讲到技术盲区,先说说我自己。几年前我也是从传统行业跨到互联网,同时还是从C#开发转到Java开发,与其说转不如说是回归Java。从上大学到毕业实习,我都是做Java的,但入职第一家公司,由于技术积累以及需要用C#与中继器、IO板卡、摄像头等进行交互,以及开发的软件是部署到客户端的,所以整套服务都是C#与少部分的C语言进行编写。
但可能由于自身仍有一股热爱Java的兴趣,把公司里我接触到的C#软件,都用Java去实现了一遍。比如Java与RS232串口进行通信操作,读取摄像头扫描信息等等。最终承载着这份兴趣跳槽了,刚出来的时候面试也是晕的,毕竟很多技术栈的内容是我没用过的,好在研究过Netty,算是当时一个技术亮点勉强通过,实现了我想写Java代码的心愿。
技术组里的gai溜子
可能每个人或多或少都有一些未接触的技术,虽然这些技术栈可能是整套架构中包括的,但可能由于经常忙于业务需求开发、技术组内缺少分享传承、再者是自己懒于探索究竟,而导致自己的技术盲区越来越多,久而久之就成了技术组里的gai溜子。
你的技术瓶颈也是一点点积累的
有一句常听到的话是;你知道的越多,你不知道的越多
。这是积极向上学习的人总结出来的。与之相反的还有一句;你知道的越少,你不知道的越少
。
认知半径决定了眼界目光,可扫描区域的大小决定发展轨迹。技术瓶颈往往都是因为自我学习能力被封锁,日积月累的流逝沉淀导致。就比如,大学生毕业前有30万行的代码编写量,找工作还会很难吗?30万行一天平均200行而已!
二、技术栈采集问卷
1. 组织了一波采集活动
这是一波问卷收集,在两个500人的技术群中,邀请大家填写自己常用的技术栈。通过这样的方式互相了解目前在使用的技术栈都有哪些,你用的技术栈,肯定有我没用过的。很多时候有些技术的不知晓,就是因为各自圈子内的架构基本是固定的,所以限制了认知范围,而大家互相补充就可以知晓还有哪些技术栈是自己没用接触过的。
目前技术栈采集仍会持续进行中,欢迎随时补充并查看;
-
采集问卷:https://docs.qq.com/form/page/DY0JsRHVNUmVyQXBZ?_w_tencentdocx_form=1 -
汇总列表:https://docs.qq.com/sheet/DY1ZTYlFQYUh6THNC
2. 汇总出来的技术栈列表
提交者(自动) | 提交时间(自动) | 你用过的技术栈(必填) |
---|---|---|
小傅哥 | bugstack.cn | 2020/7/29 11:11:56 | Drools |
柠檬楠 | 2020/7/29 11:14:00 | spring全家桶、kafka、mysql、oracle、netty、redis、docker、kubernetes、python3、zookeeper、mycat、sharding-jdbc、 |
Shing | 2020/7/29 11:14:08 | Dubbo |
不忘初心 | 2020/7/29 11:15:04 | java |
| 2020/7/29 11:15:20 | springboot、springcloud |
BIUBIUBIU | 2020/7/29 11:15:26 | elasticsearch |
油条 | 2020/7/29 11:16:01 | SpringBoot+Vue+MySql |
Spirit_wolf | 2020/7/29 11:16:17 | Java |
调包侠 | 2020/7/29 11:16:17 | docker kafka rabbitmq rocketmq redis cloud-alibaba dubbo nginx |
缄默 | 2020/7/29 11:16:22 | springboot mybatis redis mysql |
飞鱼 | 2020/7/29 11:16:32 | java |
GROW | 2020/7/29 11:16:45 | Spark、Phoenix |
Michael | 2020/7/29 11:18:16 | Java |
子木 | 2020/7/29 11:18:18 | java,oracle,mysql,es |
寒小武 | 2020/7/29 11:18:35 | 请输入 |
建润 | 2020/7/29 11:19:00 | ssm |
2020/7/29 11:19:03 | spring,redis,hadoop,docker,elasticsearch | |
鎏鬫蘃鸉 | 2020/7/29 11:19:10 | java |
wangChen | 2020/7/29 11:19:19 | java、python、docker、 |
Jeao&Leon | 2020/7/29 11:19:35 | dojo |
库里 | 2020/7/29 11:19:46 | clickhouse |
Chord | 2020/7/29 11:19:52 | mybatis-plus |
꧁ཊ查ཏ꧂ | 2020/7/29 11:19:53 | SpringBoot+Vue |
Jeao&Leon | 2020/7/29 11:19:57 | foxbase |
向日葵不流淚 | 2020/7/29 11:20:00 | HBase |
canonnk | 2020/7/29 11:20:02 | .net sqlserver node vue react |
Chord | 2020/7/29 11:20:05 | springboot |
王庆文 | 2020/7/29 11:20:14 | Sentinel JVM-sandbox |
噼里啪啦稀碎 | 2020/7/29 11:20:17 | Cat,apollo |
JKM | 2020/7/29 11:20:19 | 收集技术 |
Jeao&Leon | 2020/7/29 11:20:31 | ffmpeg |
罐头 | 2020/7/29 11:20:33 | spring、mybatis、dubbo、nacos、rabbitmq、es |
无名氏😊7173 | 2020/7/29 11:20:40 | flink,clickhouse |
日落黄昏下 | 2020/7/29 11:20:41 | java |
起风了 | 2020/7/29 11:20:43 | Spock |
Gavin | 2020/7/29 11:20:46 | haddop,spark, |
军 | 2020/7/29 11:20:49 | SpringBoot |
Shing | 2020/7/29 11:21:08 | activemq,redis,Spring-security,PGsql, |
Believe 💦 | 2020/7/29 11:21:32 | spring-boot-cloud-security dubbo netty mybatis-plus hadoop mysql redis disruptor |
子木 | 2020/7/29 11:21:33 | java,oracle,redis,mysql,es,mybatis,vue,elementui |
康雁飞 | 2020/7/29 11:21:40 | spring boot; redis |
kirago | 2020/7/29 11:22:58 | ansible、django、flask、kubernetes、springboot、springcloud、docker、prometheus |
张彬 | 2020/7/29 11:23:00 | vert.x、vert.x、vert.x (重要的东西说三遍)、netty |
shmilylyp | 2020/7/29 11:23:11 | java |
HQRNQF | 2020/7/29 11:23:17 | GraalVm |
灯泡厂老爷 | 2020/7/29 11:23:46 | spring boot,mysql,reids,rabbitmq,elasticsearch |
张彬 | 2020/7/29 11:25:10 | vert.x、netty、RxJava、响应式编程、Disruptor |
调包侠 | 2020/7/29 11:25:26 | t-io netty springboot supervisor solr elasticsearch |
2020/7/29 11:25:31 | spark | |
Perry | 2020/7/29 11:26:24 | activemq-Artemis,couchbase |
杰 | 2020/7/29 11:26:39 | springboot、mybatis-plus、nacos、sentinel、gateway、redis |
Neck | 2020/7/29 11:26:52 | spring,mybatis |
小丑人 | 2020/7/29 11:27:12 | springcloud |
刘志航 | 2020/7/29 11:28:19 | Spring、SpringBoot、SpringCloud、Dubbo、zk、Redis、Nacos、apollo、xxJob、Mysql、ES、RocketMQ、Eureka |
zedomi | 2020/7/29 11:28:30 | java,redis,mysql,jfinal,sparkjava |
时光 | 2020/7/29 11:28:45 | Springboot,SpringMVC,Dubbo,SpringCloud,Redis,Vue |
唐宋元明清 | 2020/7/29 11:28:57 | consul |
唐宋元明清 | 2020/7/29 11:29:39 | kong |
小米 | 2020/7/29 11:29:51 | 机器学习 |
海洋之心 | 2020/7/29 11:29:53 | springcloud、vue、ddd、工作流引擎、elasticsearch |
超人不会飞 | 2020/7/29 11:30:27 | dubbo、spring cloud 、netty、spring |
Disappear` | 2020/7/29 11:31:10 | dubbo nacos xxljob mybatisplus |
今宵多珍重 | 2020/7/29 11:31:11 | Springboot、Mybatis、Mysql、RabbitMQ、Netty、Redis、VUE |
L | 2020/7/29 11:32:00 | vue+elementui+node |
木瓜🐭 | 2020/7/29 11:32:12 | spring、springmvc、springboot、mybatis、mybatis-plus、redis、mongodb、mysql、springcloud全套组件、rabbitmq、shiro、spring security、xxl-job、阿里云OSS或腾讯云OSS |
Jack | 2020/7/29 11:32:16 | java spring spring boot spring cloud |
༺ཌༀཉི感謝郭嘉 PMP®༃ༀད༻ | 2020/7/29 11:32:37 | dubbo, zookeeper, springboot,springcloud netflix,springcloud alibaba,apollo,cat,e(f)lk, mongodb, mysql, redis, mycat, openresty, prometheus, skywalking, rocketmq, rabbitmq, docker, jenkins, nexus, k8s, kubesphere |
陈辉 | 2020/7/29 11:35:38 | docker |
@Violet | 2020/7/29 11:36:20 | zipkin, kibana,skywaking(没用过) |
王凡01 | 2020/7/29 11:36:48 | spring boot |
王泽东 | 2020/7/29 11:36:54 | boost,asio,pthread,libuv,libevent |
2020/7/29 11:37:17 | groovy | |
summer | 2020/7/29 11:40:12 | springcloud,springboot,dubbo,docker |
弓長宏 | 2020/7/29 11:42:08 | swoole |
zedomi | 2020/7/29 11:43:52 | java,redis,mysql,nginx,sparkjava |
红雷 | 2020/7/29 11:51:36 | spring/dubbo |
唐宋元明清 | 2020/7/29 11:52:58 | php |
渔人码头คิดถึง | 2020/7/29 12:02:45 | springboot,vue,layui |
佛祖的jio不能抱 | 2020/7/29 12:02:45 | oracle,spring |
Joshua | 2020/7/29 12:05:49 | Java springboot vue react MySQL |
小辰 | 2020/7/29 13:11:41 | spring cloud alibaba dubbo |
星宿海 | 2020/7/29 13:18:47 | java python mysql redis hadoop docker spring vue |
chenkx | 2020/7/29 13:51:46 | java |
米高电气马伟鸿 | 2020/7/29 13:57:30 | netty |
T.Jax | 2020/7/29 14:03:08 | springboot webflux mybatis jpa redis vue uni-app |
那些年、我们不曾知道的事情 | 2020/7/29 14:14:51 | rabbitmq,kafka,hadoop,angular |
旅人 | 2020/7/29 15:03:09 | Antlr |
郭小白 | 2020/7/29 16:52:25 | github |
往南更南 | 2020/7/29 17:07:41 | springboot |
☺ | 2020/7/29 17:14:46 | java |
田小麦 | 2020/7/29 18:13:11 | guava-eventbus |
一碗小米粥 | 2020/7/30 9:03:31 | webSocket,mq,nacos |
Angel's Trumpet | 2020/7/30 9:05:40 | debezium |
自律等于自由 | 2020/7/30 9:05:42 | ssh+springboot+vue+redis+activemq |
Waiting | 2020/7/30 9:06:35 | springcloud alibaba全家桶 springboot redis nginx vue mybatis-plus emqx mqtt netty rabbitmq |
Shing | 2020/7/30 9:08:02 | spring cloud alibaba,oracle,vue, |
路斌 | 2020/7/30 9:09:16 | java,android,mybatis,spring boot |
Sniper | 2020/7/30 9:09:19 | jvmti |
向北 | 2020/7/30 9:10:47 | ssm,springboot,layui,redis,docker. |
. | 2020/7/30 9:13:12 | k8s |
小傅哥 | bugstack.cn | 2020/7/30 9:14:47 | 大规模分布式系统的跟踪系统;dapper、Zipkin、pinpoint、appdash、cat、hydra、鹰眼、oneAPM |
咖啡八宝粥 | 2020/7/30 9:16:21 | Java、Dubbo、MySQL、Spring、Redis、Maven、Git、Nginx、C、Memcached |
小傅哥 | bugstack.cn | 2020/7/30 9:17:24 | 基于mysql binlog 的数据同步软件;otter |
七号公路 | 2020/7/30 9:18:19 | Vert.x |
lhh | 2020/7/30 9:21:06 | nutz、 |
梦与孤独 | 2020/7/30 9:21:09 | springboot + vue, Zuul网关 |
可以的 | 2020/7/30 9:23:01 | ssm、springboot、springcloud、redis、rabbitmq、mysql、mybatis-plus、springcloudalibaba、docker、layui |
清风徐来 | 2020/7/30 9:25:24 | spring boot+mybatis+nodejs+vue+kotlin |
韩俊臣 | 2020/7/30 9:40:08 | ssm+oracle+redis+nginx |
龙图腾 | 2020/7/30 9:50:44 | spark |
韶华如梦 | 2020/7/30 10:05:04 | Rocketmq |
小傅哥 | bugstack.cn | 2020/7/30 15:12:51 | JVM监控工具;jprofilter,perfino,Yourkit,Perf4j,JProbe,MAT |
三、汇总技术架构图
在技术汇总中,可以看到有一些是自己常用的,也有一些是当前工作经历下没用接触过的。那么这些以上的技术栈,你有想过他们是怎么互相配合,组装出一张技术架构图吗?每一个地方用什么技术承载,这也可以考虑自己的日常开发中,都有哪些技术来支撑你们整个技术框架。
❝「架构图」
❞
-
这是一张把服务端开发涉及的技术栈汇总出的一张技术架构图。 -
当然技术栈内容绝对局限于此,还有很多的其他的框架,可以被替代,只不过这些是比较常用的。 -
这些构成你日常开发的整张技术图,可能有些是没用接触的,但这样就可以很好的让你去补充自己的盲区。 -
以上这张图的PPT已经汇总到面试手册中,可以在公众号: bugstack虫洞栈
,回复下载
,把得到的 「链接」打开,找到ID:19
进行获取。
1. 负载
-
LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器,主要用于多服务器的负载均衡。 -
F5是负载均衡产品的一个品牌,除此以外还有,Radware、Array、A10、Cisco等。 -
Nginx就比较常见,它是由C语言编写的,是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
2. 网关
-
使用过SpringCloud的小伙伴都用过zuul,或者公司内部自研,以及把RPC接口转换为Http接口的一种服务。 -
为了方便客户端调用微服务,所以设计出了网关。在微服务实例地址发生改变的情况下,客户端调用服务要能够不受影响。 -
网关可以完成的功能:路由、反向代理、日志记录、权限控制、限流、切量、黑白名单等
3. 架构
-
大家最先接触的架构基本都是MVC,后来进入互联网企业开始逐渐有了更加复杂的分层处理,以及接入了RPC和网关。 -
随着SpringBoot的兴起,DDD领域驱动设计下的微服务逐渐起来了,这种四层架构是一种设计理论,以领域为中心建模开发。 -
SOA是面向服务的架构模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。
4. 治理
-
在服务的治理中一般包括;熔断、降级、限流和服务编排等。 -
这里的思想是为了进行统一管理控制,各业务系统都是一个个自服务,最终提供给编排系统进行管理。
5.框架语言
-
这一层就是大家日常开发的技术语言层,用到各个技术栈来满足开发需求。 -
比如框架类;Spring、SpringBoot、Mybatis等。 -
同时这里也会涉及到很多的盲区技术,因业务开发的特性不同,所需要的技术栈也会不同,为了不同的业务场景会引入不同的技术方案进行处理。比如;Drools、Snowflake、Finlk等。
6. 服务
-
这一层是我们在开发过程中用到的组件涉及的中心服务类配置。 -
比如Dubbo以及它的注册中心、MQ以及它的平台服务、分布式任务和配置中心等
7. 数据
-
数据是整个系统的价值体现,因业务的体量发展从单库单表到分库分表,从数据查询到文件系统,再到各类搜索引擎的使用。 -
同时在DB数据的同步过程中一般会使用基于binlog的otter进行同步ES+Hbase操作。 -
以及Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。
8. 环境
-
在项目开发完成后一般会部署到自己的服务上或者云服务,以及选择不同的服务厂商。 -
再比如现在比较火的Docker和K8S,虽然不是日常开发的一部分,但也可以扩展学习了解。
9. 支撑服务
-
这一部分包括的是; 部署
、压测
、日志
、JVM监控
、业务全链路监控
、Maven
、Nexus
、Gihub
以及其他需要的支撑功能。 -
除此之外还有一些工具类的软件,比如: IDEA
、navicat
、Xshell
、XMind
、Visio
等,熟练使用工具也是提升开发效率的最有效方式。
四、总结
-
在 《面经手册》
中,我们开篇介绍了面试官会问你啥的一个总结概述,以及到本篇介绍了技术栈盲区,通过这样两个章节的内容,可以让同好技术的小伙伴,有一个全局的认知,之后我们再去逐个攻破。 -
面试只是搂草打兔子,学习才是主干路线,千万不要以为学了什么神秘大招或者洗脑长文就能所向披靡,那都是凑巧的小概率事件。 -
我为技术用一年时间积累出来整套圈子; 推文的公众号
、沉淀的博客
、资源的Github
、交流的技术群
、分享的技术圈子[虫洞技术栈]
、推广的各大平台
,欢迎加入这个生态技术圈,每个人都有自己擅长的技术方向,互相学习,共同进步。
bugstack虫洞栈
沉淀、分享、成长,让自己和他人都能有所收获!
作者小傅哥多年从事一线互联网Java
开发,从19年开始编写工作和学习历程的技术汇总,旨在为大家提供一个较清晰详细的核心技能学习文档。如果本文能为您提供帮助,请给予支持(关注、点赞、分享)!
感谢支持小傅哥原创,欢迎点击在看和转发
本文分享自微信公众号 - bugstack虫洞栈(bugstack)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
计算机极简发展史
点击蓝色“程序员cxuan”关注我哟 加个“星标”,欢迎来撩 这是程序员cxuan的第 29 篇原创分享 计算机自从 20 世纪 40 年代诞生以来,一直以史无前例的进步向前发展,如果说农业革命是第一次革命、工业革命是第二次革命的话,那么第三次革命就是 信息革命。 计算机技术的进步几乎影响着社会的方方面面,硬件的进步使得程序员可以编写出各种各样优秀的应用软件。也许不久的将来虚拟现实、无人驾驶、无现金支付就会成为现实。 1 计算机分类 计算机从用途上来讲主要分为三种: 个人计算机(Personal Computer) ,也称为 PC,这是人们最熟知的一种计算机,个人计算机强调用户体验,价格低廉,性价比高,个人计算机虽然出现时间很短,但是却大大推动了计算机历史的进程。 服务器(Server),服务器通常借助网络访问,用于执行大负载任务,可以处理复杂的应用,服务器相比个人计算机,有着更强的计算、存储和 I/O 能力。发生故障时,服务器比个人计算机恢复代价高。 服务器分为两种,一种用于处理简单小型的 web 服务,没有显示器和键盘。而另外一种是高端服务器,高端服务器通常称为超级计算机,一般由成...
- 下一篇
同事问我MySQL怎么递归查询,我懵逼了...
前言 最近在做的业务场景涉及到了数据库的递归查询。我们公司用的 Oracle ,众所周知,Oracle 自带有递归查询的功能,所以实现起来特别简单。 但是,我记得 MySQL 是没有递归查询功能的,那 MySQL 中应该怎么实现呢? 于是,就有了这篇文章。 文章主要知识点: Oracle 递归查询, start with connect by prior 用法 find_in_set 函数 concat,concat_ws,group_concat 函数 MySQL 自定义函数 手动实现 MySQL 递归查询 Oracle 递归查询 在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。 按照 prior 关键字在子节点端还是父节点端,以及是否包含当前查询的节点,共分为四种情况。 prior 在子节点端(向下递归) 第一种情况:start with 子节点id = ' 查询节点 ' connect by prior 子节点id = 父节点id select*fromdeptstartwithid='1001'connetbyprior...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Mario游戏-低调大师作品
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路