学习的两个目的:

应付面试

应付工作(解决问题)

首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的。

有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试)。所以不同技术、不同时间学习方式需要改变。

学习方法:

mysql、redis等日常使用技术:

直接就要熟练掌握,因为日常工作经常使用,忘记说不过。

分布式微服务技术:

组件用来解决什么问题;思想是什么;会带来什么新的问题,新的问题怎么解决?

分布式技术就是用来解决各种分布式问题的组件,体系庞大,涉点面广,主要对应于具体的业务问题。所以学习时了解原理,会应用就行了。源码什么的,面试前挑选两个核心、经典组件了解下核心原理(主要记结论)

项目

不得不说,外包的项目是真的很水,水到自己看着都发慌。

那如果你项目很水,怎么准备面试呢?

首先项目水,不代表你水。这就需要你具备一定的架构思想。

  • 第一,在面试中,并不是只能展示自己的那些谁都会写的CURD,你参与在整个大的项目当中的科技与狠活,只要你了解过的都可以聊,项目中所有东西都和你有关的,所以多花点时间多了解下别人做的事情,对你是有好处的。
  • 第二,就算项目再水,也一定涉及到项目选型,这就是你可以吹的地方,至于你到底参与了多少,反正面试官也不知道,只要你准备好,解释的通就好了。比如你对比了一下产品,看了下他们各自支持哪些功能,评估了一下落地成本和运维的复杂度,并且了解了一下他们的学习成本和团队的上手速度,调研了一下这个产品的开源支持力度,最终再结合实际业务情况,选择了某某产品。而且呢我还去了解了一下他的核心原理是啥啥啥。如果面试官说你这个方案不完美,那你就直接说:”我当然知道这个方案不完美了,我也知道其中问题有哪几点,但是综合评估下来呢,这个方案更适合我们当时的情况。“
  • 第三,就算你的项目很古老,你的参与度很低,那也不是一无是处的,线上问题总会遇到过,就算你自己没遇到过,同事总遇到过,同事也没遇到过那就编一个线上问题往简历上写。比如帮助同事排查并解决了慢SQL问题、多次解决过CPU飙高的问题、内存泄漏问题、对于频繁的FullGC有解决经验等等。那关于这些问题到底是怎么回事,去网上搜相关文章,模拟一下问题的发生,并尝试这解决一下。然后重点来了,按照这个脚本准备,”问题是怎么发生的,是怎么发现的,当时的现象是什么,具体有哪些指标,你怎么排查的,排查之后的解决方案是什么,解决之后的指标是怎么样的。“
  • 第四,实在水到没有亮点,那就推翻原设计,架构重构思想,自己创造亮点。把本来不合理的设计替换成更合理的方案,借鉴别的项目还是自己凭经验技术来都行,合理就行。

    总之就是想尽一切办法告诉面试官,我和别人不一样,不要我就是你们的损失,就算我的项目很水,但是我一点不水。

源码:

源码这种东西主要是用于应试的,像spring源码这种东西,平时没谁去管它,又用不上。所以理解核心原理和流程就行了,没必要去死抠源码。因为抠了也记不住,找工作前再去学习阅读就可以了。或者你像写相关博客帖子的时候再去学习。

数据结构、设计模式、算法等东西:

理解思想是什么,有什么特点,用来解决什么问题就行了。

主要还是用于应试(笔试刷题,面试也就是思想)。这种东西虽然重要,但是和数学相关度很大,还不是面向百度编程。所以主要就是理解思想,面试刷题,工作面向百度。

JVM:

原理偏多,理解优先。面试前复习+刷题。

并发、多线程:

难度最大,工作中也可能会用。

学习以原理为主(真正理解),反复复习,应用还需在正式开发中提升。

其他语言:

建议选择GO语言作为第二语言,按照行业趋势,Java必然被GO语言逐渐蚕食,市场份额越来越小。

Java外包程序员的技术出路的更多相关文章

  1. 高级Java程序员的技术进阶之路

      据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万.而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大.那么,作为 ...

  2. Java冠军程序员告诉你如何提升技术

    让我们跟着兄弟连JavaEE培训 导师,聊一聊——怎样成为冠军程序员 ? 我认为以下几点能力是非常有帮助的: 1.强大的记忆力.当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆 ...

  3. PHP程序员的技术成长规划

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

  4. PHP 程序员的技术成长规划

    [导读] 按照了解的很多PHP LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序 ...

  5. [刘阳Java]_Java程序员的成长路线_第3讲

    按照Java从业人员的职位晋升来说,Java程序成长路线大致如下 Java程序员 JavaEE初级软件工程师 JavaEE中级软件工程师 JavaEE高级软件工程师 Java架构师 按照职业发展方向, ...

  6. 【转载】PHP程序员的技术成长规划

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

  7. PHP程序员的技术成长规划(送给迷茫的你)

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

  8. 【转】PHP程序员的技术成长规划

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

  9. 【转】成为Java顶尖程序员 ,看这11本书就够了

    成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书 ...

  10. PHP程序员的技术成长规划(转)

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

随机推荐

  1. MySQL8更改数据存储目录

  2. Python 类型提示简介

    Python 3.6+ 版本加入了对"类型提示"的支持. 这些"类型提示"是一种新的语法(在 Python 3.6 版本加入)用来声明一个变量的类型. 通过声明 ...

  3. Springboot之 Mybatis 多数据源实现

    简介 上篇讲解了 JPA 多数据源实现:这篇讲解一下 Mybatis 多数据源实现 .主要采用将不同数据库的 Mapper 接口分别存放到不同的 package,Spring 去扫描不同的包,注入不同 ...

  4. 聊聊SQL注入

    SQL注入问题 概述: 首先SQL注入是一个非常危险的操作,很可能被一些不怀好意的人钻空导致我们系统出现异常等状况,比如数据库遭到破坏或被入侵. 原因:使用JDBC的Statement语句添加SQL语 ...

  5. .NET 7 RC 2 发布,倒计时一个月发布正式版

    微软2022-10-22 发布了 .NET 7 RC 2,下一站是.NET 7正式发布,就在下个月Net Conf 2022(11月8日)期间正式发布. 经过长达一年时间的开发,.NET 7 规划的所 ...

  6. [Android开发学iOS系列] 快速上手UIKit

    快速上手iOS UIKit UIKit是苹果官方的framework, 其中包含了各种UI组件, window和view, 事件处理, 交互, 动画, 资源管理等基础设施支持. 按照前面的介绍, 用U ...

  7. Springboot+Vue实现将图片和表单一起提交到后端,同时将图片地址保存到数据库、再次将存储的图片展示到前端vue页面

    文章目录 1.实现的效果 2.Vue前端 3.图片上传 4.字段变量根据自己的字段名自行设置(这里不给出了,哈哈哈) 5.method方法 5.1.图片显示在选择框中,同时返回后端存储的地址 5.2查 ...

  8. python face_recognition安装及各种应用

    1.安装 首先,必须提前安装cmake.numpy.dlib,其中,由于博主所用的python版本是3.6.4(为了防止不兼容,所以用之前的版本),只能安装19.7.0及之前版本的dlib,所以直接p ...

  9. SQL生成脚本

    右键要生成脚本的数据库 选择task 选择Generate script 选择需要生成脚本的table.view.procedure

  10. 两个行内元素在一起,会出现一定的间距,即使将border、padding、margin都设置为零也无济于事,那么怎么才能去除这些间距呢?

    首先这里的div设置为了行内块元素,span本身为行内元素,并且设置了* {padding: 0; margin: 0;},那怎么清除元素之间的空白缝隙呢?? (1)给元素加浮动 <!DOCTY ...