首页 > 编程语言 >Java外包程序员的技术出路

Java外包程序员的技术出路

时间:2022-11-30 23:35:59浏览次数:47  
标签:学习 Java 外包 面试 项目 问题 程序员 源码 解决

学习的两个目的:

应付面试
应付工作(解决问题)

首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的。
有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试)。所以不同技术、不同时间学习方式需要改变。

学习方法:

mysql、redis等日常使用技术:

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

分布式微服务技术:

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

项目

不得不说,外包的项目是真的很水,水到自己看着都发慌。
那如果你项目很水,怎么准备面试呢?
首先项目水,不代表你水。这就需要你具备一定的架构思想。

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

源码:

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

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

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

JVM:

原理偏多,理解优先。面试前复习+刷题。
并发、多线程:
难度最大,工作中也可能会用。
学习以原理为主(真正理解),反复复习,应用还需在正式开发中提升。

其他语言:

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

标签:学习,Java,外包,面试,项目,问题,程序员,源码,解决
From: https://www.cnblogs.com/jadite/p/16940160.html

相关文章

  • Java学习十
    一.小结1.不可变对象一旦创建,就不能改变。为防止用户修改对象,可以定义不可变类。2.实例变量和静态变量的作用域是整个类,与变量在何处声明无关。实例变量和静态变量可以在......
  • ubuntu安装java
    1、首先下载Ubuntu上的Java安装包到这个链接DownloadtheLatestJavaLTSFree下载Linux的Java版本  如果是在Ubuntu上下载的,那么下载下来的文件应该在用户目录下......
  • tomcat_动态java项目的目录结构以及与IDEA集成&创建web项目
    tomcat_动态java项目的目录结构静态项目和动态项目:目录结构:java动态的目录结构:项目的根目录WEB-INF目录......
  • java获取电脑cpu,系统相关信息,jvm,文件盘符相关信息
    1.准备cpu,jvm,文件盘符实体类packagecom.joolun.framework.web.domain.server;importjava.lang.management.ManagementFactory;importcom.joolun.common.utils.Arit......
  • Redis的Java客户端
    Redis的Java客户端Jedis线程不安全,lettuce线程安全Jedis测试引入依赖<dependencies><dependency><groupId>redis.clients</groupId><artifact......
  • 《程序员修炼之道:从小工到专家》阅读笔记六
    十九、文本操作 文本操纵语言对于编程的意义,就像刮刨机对于木工活的意义。这些语言是赋予你能力的重要技术。二十、代码生成器编写能编写代码的代码代码生成器:被动:只......
  • Java中进制基础知识与算法题
    本篇文章旨在给大家普及下计算机内部数据的机器级表示方式,即:二进制、八进制、十进制、十六进制…对于进制,我们从小最先接触的是十进制,这个也是我们日常生活中应用最多的数......
  • 《程序员修炼之道:从小工到专家》阅读笔记五
    第三章:基本工具需要的工具经过认真挑选,打造得坚固耐用、并用于完成很少与其他工具重合的特定工作,最重要的是刚刚出道的木匠拿在手里会觉得很顺手。学习与适应,各种工具有......
  • 小新学Java14-【File类、递归】
    一、File类1.1概述java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2构造方法①File(Stringpathname)通过将给定路径......
  • 力扣287(java&python)-寻找重复数(中等)
    题目:给定一个包含 n+1个整数的数组 nums,其数字都在 [1,n] 范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回 这个重复的数......