其实初级开发升级到高级开发还是相对容易的,只要主观上态度上端正,别固步自封,然后到处看些资料多和人交流即可。如果进互联网公司,在大压力环境下,身边大牛再多些,升级过程会更加顺利。

####2 高级程序员的技能瓶颈在于分布式组件

高级开发论技术,有一定的调优经验,也有一定分析日志解决问题的能力,也能debug。论解决问题的能力,也能和别人沟通,从而接简单的需求,并能分析和解决一些问题。论团队合作,也能带3,4个人一起开发。其实这类能力,对工作个3年的程序员来说,不难达到,如果在节奏比较快的互联网公司里,甚至2年即可。

论工资水平,当前在上海,高级开发拿个15k都算低,如果进个大公司,外带5年左右开发经验,估计能到20k,如果在互联网公司甚至能更高,但瓶颈估计在25k左右。

我面试高级开发,他们一般基础知识比较扎实,比如Java集合内部的实现代码,高并发的诸多类,或者Spring框架的一些关键底层代码,都能说得上来。一般给我的高级开发的面试标准是,所需初级开发的技能,并在此基础上具有一定的调优能力,通过日志定位问题,设计解决方案和解决实际问题的能力,而且linux上也能部署代码。只要能说得上来,一般能给到高级开发的工资,就多少的问题。

但我面试时,感受非常深的是,和架构师相比,高级开发对于分布式组件或基于云组件(比如k8s)或其它高并发分布式组件,有些人可能用过,但仅限于会用其中的API,让他们搭建一个集群,他们可能就力所不能及了,如果再问他们分布式组件在项目开发时经历过的坑,他们大多也说不上来。

比如我问,Dubbo里通讯协议有哪些?高级开发一般能说得上来,因为这有现成资料,但我再问,根据你们的业务实际情况,你们用的是长连接还是短连接方式?为什么要用这种协议?他们估计就很难回答。如果我再问,如果要处理高并发的请求,需要在Dubbo里做哪些配置?如何同其它组件搭建成集群以达到容错效果?高级开发就更难回答了。

同初级开发升级到高级开发相比,高级开发升级到架构师更难,因为在一般的工作环境里,高级开发很难有相应的实践机会。不过话说回来,如果程序员有8年经验后还是高级开发,那么竞争力会逐步下降,一方面很难再要到更高的工资,另一方面很难通过面试争取到架构师的工作机会。那么高级开发如何升级到架构师呢?这个时候光靠态度就不行了。

1 理论知识不可少,还需要在自己电脑上,可以搭建个脚手架项目,比如自己装个虚拟机,搭建个dubbo集群等,这样能熟悉基本的配置和用法。

2 最好找个互联网公司实践下,哪怕在互联网公司干的是高级开发的活,一定也有机会接触分布式组件,这样就有相关经验了。我在一家外企自学了1年多架构师的技能,然后到一家互联网公司,发现3个月的实践抵得上1年多的自己探索。

3 比如高级开发,架构师更得了解集群,而不是单机版的代码,所以更得关注一些技术以外的技能,比如负载均衡,容错处理,通讯协议和流程等。积累着方面的经验别无他法,只能多动手排查和解决实际问题。

4 虽然说光靠态度不行,但没态度也不行,在升级过程中,可能因定位问题不及时不准确,或者提出的方案有瑕疵,从而受到别人挑战,相反如果回到高级开发的舒适区也能稳定地过日子。我自己也有体会,我幸亏遇到了好师傅,而且我师傅的师傅是大牛,也为我指明了不少进阶方向。否则的话,这条升级路能坚持下来,还能难说。

####3 架构师的瓶颈在于项目实践经验

目前在上海,架构师的月薪普遍在30k以上,如果稍微资深点的话,35k也不是问题,如果是一个公司的主心骨的话,那工资就更没上限了。

虽然不多,但我好歹也面试过Java方面的架构师,我在面试过程中发现,一些资深的架构师,相关实践经验相当丰富,更有部署上线和在线排查问题方面的经验。

比如MyCAT分库分表方面,高级开发会使用,一般的架构师会搭建集群,也会排查产线问题,而资深架构第一能知道该如何上线,上线时如何采用分组发布确保数据兼容性,上线后又该如何清洗数据,如果上线过程中出现问题又该如何回退。再比如针对Netty的OOM问题,资深架构的脑海里会出现若干个优先排查点,在这些范围内找到问题的概率很大,不行再具体看日志分析。

如果说,架构师还有人可以问的话,资深架构则没人可问,有问题得靠自己之前踩坑获得的经验,或者自己找资料。从这个意义上来讲,在架构师级别,如果技术上再要提升,那么只能多靠解决实际问题时积累的经验,而且更得结合业务,把负载均衡,容错处理等处理高并发的理念用分布式组件实现。这方面,我们可以参照下BAT或知名互联网公司的架构知识体系。

####4 在任何时候,态度都是限制发展的瓶颈

不管是面试初级程序员还是高级开发或者是架构师,我发现一些表现好的,都是比较积极向上的。

比如回答问题时声音洪亮,沟通时也有尽量向表达清楚的愿望,哪怕某个方面回答不正确,但也能看出平时在不断积累知识,当被追问比较深时,也能比较耐心地一一解答,总之通过交流,给人的印象是比较踏实靠谱。有些人甚至平时会写博客,或者出过书,或者想尽一切办法来积累和提升自己。这类人大多能过,哪怕个别过不了,但努力的大方向没问题,完成进级也仅仅是时间问题,未来潜力也是非常可观的。

但相反,有些回答不好的候选人,总会给人些得过且过敷衍的感觉,比如回答问题比较简单,或者总是想套面试官的话,或者总想用些模棱两可的回答来蒙混过关。

我和其它的面试官沟通以后,对此感受很深,总是先自己要了,然后再肯上进,再自发地归纳出好的学习方法,并能有效地进行时间和工作任务管理。

我见到过不少反面的案例,这些人论资质不错,但或者光有决心没行动,或者干脆陷入在舒适区不可自拔,这些人很难有技术上的突破。相比之下,初级程序员在有决心有行动后,升级所需的时间不会超过1年,有些半年就够了,高级开发升级到架构师可能有些难度,但一般不会超过2年。

所以说,要升级,首先态度要端正,人要上进,这话说起来太容易,但能做到的并且能坚持下来的人数并不多,所以态度也是升级的瓶颈,这话虽然通俗,但不无道理。

####5 总结,技术可以暂时落后,但任何时候都要有上进的信念

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友,点击这里即可免费获取

Y-1628225602115)]

[外链图片转存中…(img-DJCfTkOr-1628225602117)]

SpringBoot项目瘦身指南,大厂如何面试看出你的水平相关推荐

  1. SpringBoot 项目瘦身指南,瘦到不可思议!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:yjgithub blog.csdn.net/yjgithu ...

  2. 一个三线程序员的2020年,CSDN 10 万粉里程碑达成,SpringBoot项目瘦身指南

    先说说我身边的几个朋友吧,他们无一例外,都是通过写作建立起来的影响力. 第一个,我想到的就是纯洁的微笑.我在写作方面之所以能突飞猛进,除了源于我自身的努力,微笑哥在初期给了我不少无私的帮助. 微笑哥是 ...

  3. Spring Boot 项目瘦身指南,瘦到不可思议!129M->1.3M

    之前在 从使用传统Web框架到切换到Spring Boot后的总结 中提到关于 Spring Boot 编译打包,Spring Boot 应用程序不用额外部署到外部容器中,可以直接通过 Maven 命 ...

  4. gradle构建springboot项目瘦身,外部依赖jar的终极方法

    1.为什么瘦身? 阿里云部署,每次改了代码,上传80多M到服务器,血与泪,如果把jar单独上传的话,那么影响就很小了,只需要传对应的jar上去就可以保证项目正常运行 2.方法build.gradle示 ...

  5. Spring Boot 项目瘦身指南,瘦到不可思议!

    https://blog.csdn.net/yjgithub/article/details/80475521 目录: 前言 瘦身前的 Jar 包 解决方案 一.前言 SpringBoot 部署起来虽 ...

  6. Spring Boot 项目瘦身指南,非常实用!

    一.前言 Spring Boot部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网,部署起来实在头疼:编译出来的 Jar 包很大,如果工程引入了许多开源组件(Spring Clo ...

  7. 我的Android进阶之旅------gt;Android APP终极瘦身指南

    首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP ...

  8. Android Apk瘦身指南大全

    Android Apk瘦身指南大全 前言 为什么Android应用Apk要瘦身?虽然安装包大小对应用使用没有影响,但应用的安装包越大,用户下载的门槛越高,安装等待时间也会越长,特别是在移动网络情况下, ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来

    基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 转载于:https://github.com/Meowv/Blog.git 本篇文章将给项目进行瘦身,删掉对 ...

最新文章

  1. 嵌入式linux应用程序升级,基于嵌入式Linux平台的应用升级机制的研究与设计
  2. 人脸识别门禁在安防行业的发展前景
  3. springmvc 配置多个数据源,并动态切换
  4. ajax 同步和异步
  5. (十一)MyBatis的动态SQL:trim元素
  6. kaggle实战—泰坦尼克(二、数据清洗及特征处理)
  7. python工程师工资多少-Python全栈工程师为何这么火薪资这么高看了才知道
  8. 生成对抗网络 GAN 基本原理与发展历程
  9. Windows 常用消息大全系统消息、通告消息、用户消息
  10. python实现基于 Adaboost 框架来构建自定义集成模型【自定义基分类器模型】
  11. python3之环境搭建以及基础语法
  12. 新版Cadence打开PSpice8.0工程文件
  13. java代码取出EXCEL表数据并画折线图
  14. 华为硬件工程师社招机考题库_华为硬件工程师笔试题
  15. 深度学习神经网络训练调参技巧
  16. 【STM32】HAL库——ADC
  17. 2018湖南省第14届大学生计算机程序设计竞赛---卖萌表情
  18. 毛巾架用久了生锈怎么办?
  19. 手机卡变了 发短消息通知
  20. DLNA - 一个伟大的方式来享受流媒体电影在首页

热门文章

  1. 2020级C语言大作业 - 王国保卫战
  2. 第1章 C/C++与开发环境介绍(《C和C++游戏趣味编程》配套教学视频)
  3. 深度揭秘阿里云 Serverless Kubernetes
  4. “我曾经的小项目比我在软件行业十年产生的影响还要大”
  5. 不同芯片的 Mac 电脑,差距会逐渐拉大吗?
  6. “干掉”程序员饭碗后,OpenAI 又对艺术家下手了!
  7. 谁说数学好编程就好了?MIT告诉你:不对!
  8. 字节跳动 Byte Camp 冬令营报名启动,高质量赛题带你线下备战 ICPC
  9. 从技术到应用实践,揭秘京东区块链布局全景
  10. 知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍!