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

####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. 终于来热风了,又一次感觉到什么叫温暖!
  2. 由web项目中上传图片所引出的路径问题
  3. .NET服务器应用程序开发
  4. 腾讯大数据星火计划--Angel技术沙龙 对外报名正式启动!
  5. StringBuilder与StringBuffer比较
  6. 尚硅谷_jQuery_学习笔记
  7. JAVA minaio模型_分布式系统之Java IO模型
  8. Python socket UDP
  9. 为什么说 Transformer 就是图神经网络?
  10. 万达9.3亿美元并购北欧最大院线 全球市场份额逼近20%
  11. 《模拟电子技术基础》课程笔记(一)——绪论
  12. mybatis官网下载
  13. 广播电视相关信息系统 安全等级保护基本要求
  14. HDU 1863 (图论基础prim算法)
  15. Python wordcloud词云:源码分析及简单使用
  16. 【无标题】There was an unexpected error (type=Internal Server Error, status=500).
  17. 2021年中国压力-容积回路系统市场趋势报告、技术动态创新及2027年市场预测
  18. 文本框”输入关键字 “提示
  19. 制作一个带rEFInd引导菜单的WinPE启动光盘
  20. 卧龙修图插件之面部精修教程

热门文章

  1. 哌甲酯药行业调研报告 - 市场现状分析与发展前景预测
  2. 水力压裂化学品行业调研报告 - 市场现状分析与发展前景预测
  3. 海龟绘图两小时上手C语言 - 2 绘制正方形
  4. 在c语言程序中可把整型数,C语言程序设计(2).doc
  5. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程
  6. android 读取音频音量,Android AudioRecord和MediaRecorder录音并实现了实时获取音量大小...
  7. mysql增加sort_buffer_MySQL数据库之MySQL中的sort_buffer_size参数大小的设置问题
  8. 微软集成 Edge 开发者工具到 Visual Studio ,工具迎来“大换血”?
  9. 英伟达证实遭遇攻击,核心源代码惨遭泄露,75GB机密数据被公开
  10. 谷歌大脑组合模型霸榜 SuperGLUE