Outsourcing has been working for five years, and it is almost sent...

A few days ago, a reader wanted my information:

I am a java development engineer and have been working for more than four years and almost five years. Now I am looking for a job, because I have been doing manpower outsourcing projects. The technical aspects are not very in-depth, and now I always ask some questions when looking for a job. There are too many things I don’t understand about the underlying implementation principles and framework principles. I am very confused now, but I know that at least I can’t find this kind of manpower outsourcing. Form! What should I look for in my next job? A colleague suggested that I go to an Internet company to study! But the requirements of Internet companies are indeed higher. I don’t know what you think?

This graph can answer the question "What should the next job look like".

There is a reality that developers or technical practitioners must be aware of:

If you don’t have deep accumulation in a certain technology stack, and your technical ability has always stayed at the level of “others arrange things, decompose tasks, and execute them without thinking”, then your use value will decrease with age, and you will find a job. It's hard to find good opportunities.

So when we are looking for a job, we must pay attention to "the growth of personal ability", that is, we must aim at the potential opportunities and ideal opportunities in the previous picture, and do not easily enter the platform that will only consume your value, even if it gives Higher salary (slow death chance) - because you will lose your future.

On you, when looking for a job, be sure to consider a few things:

  • Which technology stack do I want to keep accumulating
  • What product (business) do I want to do
  • What is the minimum salary I can accept

After clarifying the product direction and technical direction, as long as a certain opportunity can make you improve the technology to become more and more valuable, as long as a certain opportunity matches your product (business) preference (or does not contradict it), you can try it , because your use value will increase because of this job, even if the current salary is lower (potential opportunity), there will be a capital raise in the future or the opportunity to find a higher salary.

The ideal job change is to switch back and forth between potential opportunities and ideal opportunities, spiraling upwards. Therefore, please think more about what kind of things and what kind of opportunities can make you grow and make you more and more valuable. Then, choose a job based on this principle.

Many people want to change jobs and raise their salary, but suffer from no systematic way to improve their learning. Here is a free comprehensive analysis of Java's intermediate and advanced core advanced knowledge with 120k stars on GitHub. It mainly includes Java foundation, Java container, Java concurrency, Java virtual machine and Java IO. In addition, it also comes with network, linux, data structure and algorithm, database, system design, necessary tools, interview guide, etc., which is very comprehensive.

This time it's free to share! Some screenshots are shown, and there is a free download method at the end of the article!

(1). Basics

1. Basic Java skills

  • Introduction to Java (basic concepts and common sense)
  • Java syntax
  • basic data type
  • method (function)

2. Java Object Oriented

  • classes and objects
  • Three characteristics of object-oriented
  • modifier
  • Interfaces and Abstract Classes
  • Other important knowledge points

3. Java core technology

  • gather
  • abnormal
  • Multithreading
  • Files and I\O Streams

(2). Concurrency

1. Concurrent containers

  • Summary of concurrent containers provided by JDK
  • ConcurrentHashMap
  • CopyOnWriteArrayList
  • ConcurrentLinkedQueue
  • BlockingQueue
  • ConcurrentSkipListMap

2. Thread pool

  • The benefits of using thread pools
  • Executor framework
  • (Important) A brief introduction to the ThreadPoolExecutor class
  • (Important) ThreadPoolExecutor usage example
  • Detailed explanation of several common thread pools
  • ScheduledThreadPoolExecutor 详解
  • Thread pool size is determined

3. Optimistic locking and pessimistic locking

  • What is pessimistic locking and optimistic locking
  • Two common implementations of optimistic locking
  • Disadvantages of optimistic locking
  • Usage scenarios of CAS and synchronized

(3). JVM

1. Java memory area

  • Overview
  • runtime data area
  • Exploring HotSpot Virtual Machine Objects
  • key supplementary content

2. JVM garbage collection

  • Demystifying JVM memory allocation and recycling
  • Subject has died?
  • Garbage Collection Algorithms
  • garbage collector

3. JDK monitoring and troubleshooting tools

  • JDK command line tools
  • JDK Visual Analysis Tool

(4) Network, linux, data structure and algorithm, database, system design, necessary tools, interview guide

Due to the limited space, other content will not be shown one by one. This advanced notebook has a total of 512 pages. It should be very helpful for those who want to advance, and I hope it can also help you.

Those who need it can click the card below to get it for free.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324466021&siteId=291194637