Gold and three silver four seasons, Ali 10 years working Java Daniel's "experience", dedicated to the confusion in you

When you are in Java after a year, looking for work again, they will feel the real "gold and three silver four" meaning behind the words.

First year of work, what are often full of freshness, learn anything, dashing year; WEB industry to update their knowledge quickly, today a new version of the framework, tomorrow is another new framework, it is sometimes based on project We need to keep learning new things; so, very often feel a lot of it used their own thing! But not many really in-depth study of things.

Interview, quit after the first problem is to face; and different interviews with different companies focus; but there is one thing in common: Java is based on the compulsory.

First year of work, we may ask you to understand String object is created, and so what common framework;

-

The third year of work, what would you ask Java memory allocation mechanism is how the class is loaded, and so on;

-

The first five years of work, I ask you what is the common design patterns, what you act as a role in the work, how to complete a separate module, and so on; we can see - this is typical of a growing programmer:

Use Java ----- → Java-depth understanding of the accumulation of experience ----- → ----- → independent design analysis capabilities generalist endeavor!

Therefore, we must learn: Oracle database is the most commonly used (of course, the bank projects require DB2, etc.), proficiency in the use of stored procedures, triggers and so on; UML projects often write documentation, project manager of basic skills, programmers to design basic skills; linux systems need to master commonly used linux commands - project deployed on windows operating system rarely now. The other is not to say, we can add. Learning, interest is the greatest teacher; project-driven is a good choice, in short, does not learn.

The first accumulation of industry background
industry background is very important; you must determine its own industry background after 3 years

For example: I have been engaged in the telecommunications industry, the Bank has been engaged in the project, has been engaged in the ERP industry and so on. Can not be a programmer has to write code to write code that also need to know the business logic to meet any demand; Gehangrugeshan the saying goes, every industry, business is different, even very different.

For example: You have been engaged in streaming media, so you switched to a bank project, finished, everything from scratch for it, previous industry experience are irrelevant; moreover, a company hiring the company, is hoping to find those very easy to use does not require training business for a long time programmer; frequent job-hopping friends, we must pay attention to this point; the industry has been in a long stay, you can become an expert in this industry; we can often see, a leader of a group project Code written in general, but it can smooth communication with customers, control of proposed new requirements, bug correction and so on; and customers are willing to deal with him, because those old items only he can maintain his familiar even each table structure --- how long the system may want to spend time in this industry have friends.

The second sound career planning
what is career planning - is your short-term or a long-term career plans! Truths do not speak, we simplify it. To ask you a few questions:

a. You work for years, and you are willing to have new entrants to the novice as it is a simple programmers?

-

b. You have been willing to write code, I do not care about the others?

-

Preliminary requirements, design c. A project, post-deployment maintenance, leading to find you, you say we get it working, okay? Programmers not knock the machine code. The first year do not know too many things, you can all listen to the arrangements boss, knocked code to see the database, and test their code of others; but next year, you still have that right? Impossible, one year of experience you can join, and it is time to learn how to conduct needs analysis, how to design a database, how to write all types of documents, how to write better code? This is a requirement of senior programmer!

What is a senior programmer?

Analytical design capabilities;
energy technology research;
programmers have a deep industry background.
So, a project after project, you have to actively participate in the preliminary design, the one with the old comrades thinking to analyze problems, learning experience! OK, there you grow it! Do not think that programmers write code Oh! ! !

Moreover, through the development of a project, you have to be able to rough statistics a function of development time; for example, a module has 20 small function point, you develop 80 hours, each small function point average of two hours - this time in the early days we will be able to assess the workload.

Of course, the efficiency and quality of work of each person is different from person to person, but probably should be able to work out statistics, statistics for the duty cycle of a project; ability above, at least you have a project group the backbone of it!

At this point, you can lead the younger brother to do the development, rather than being an ordinary person to lead it. Many companies are the backbone of the project and project managers are not recruited to come by, are trained --- for 2 years, the ability to think good, good hands, it is on the road! OK, this time project managers and mid-level companies might notice you, it will give you more exercise you assign tasks slowly, oh odds this time do not (have met such a colleague, a good technology, people Yes, the leadership of a sudden a lot of tasks assigned to him, he began to silently endure, then it Nao Yixian leader talked with him, he can quite see it over the top for some time on the basic adaptation, it can be quickly done;!! later he became our Waiting List in the new project leader is), with people with you to learn, more than labor, it will soon succeed! If you work for years, it belongs to the veterans, but also good with people, to cultivate the younger brother! Because only little brother grow up, your body burden will be light, the project will be conducted smoothly!

And senior programmer (undergraduate, for example) work about four years wages reached a bottleneck (first-tier cities is 9K-25K), this time must "transition" - senior programmer just part of your ability, systems analyst, architecture division, the project manager is what you should tell someone else's job, pay to upgrade again.

Gold and three silver four seasons, Ali 10 years working Java Daniel's "experience", dedicated to the confusion in you

Third regard to quit
job-hopping technology to learn more switched on all the time in the event, but I suggest that you quit before, to make it clear why quit.

We must not follow suit, to see my colleagues one by one are gone, and he began to interview them blind (also not prepared adequately period), in the end because of technical reasons (the impact of their development, offset path planning of their own), or the money to less, unappreciated. Inadequate preparation of the interview, complete waste of time, it is not responsible for their own (if the title is high, when I did).

Today to share with Java interview outline in this sort of job-hopping, where most of them are face questions in the interview process, you can control this leak filled, of course, listed here certainly can not cover all the way.

Projects most cases, this is a test door interview questions, the interviewer ask this question is to investigate your ability to outline and global vision. Some people often complain about their daily business in the heap, but it did not grow. In fact, in many cases it does business in a heap, but not without growth. Do not middleware technology or architecture is growing, for example, we need analytical skills, communication and collaboration, product thinking ability, abstract modeling capability is a very important hard power.

OK, now entering text:

What is clear project of
a clear project's value. (Why do this project, it addresses what the user pain points, what value it?)
A clear function of the project. (This project involves what features?)
Technology definite projects. (Which technologies used in this project?)
A clear position and role of the individual in the project. (You assume a role in this project?)
The overall architecture of the project clear.
Clear advantages and disadvantages of the project, how would you design if re-design.
Highlights of the project clear. (This project highlights what?)
Clarify the technical growth. (What are you growing technology through this project?)

Java foundation
List and Set the difference between
how HashSet is to ensure non-repetition
HashMap is thread-safe yet, why not thread safe (best drawing instructions unsafe multithreaded environment)?
Expansion process of the HashMap
HashMap 1.7 and 1.8 of the difference, 1.8 illustrates what had been done to optimize, optimize how?
final finally finalize
strong references, soft references, weak references, phantom references
Java reflection
Arrays.sort Collection principle and implementation principles
LinkedHashMap application
cloneable interface principle
anomaly classification and handling mechanism
wait and sleep the difference between
an array of how to allocate memory in
Java Concurrency
the principle of synchronized and lock optimization?
volatile implementation principle?
Java's lights?
synchronized difference in static methods and general methods?
How to achieve all threads waiting to happen before an event to perform?
CAS? CAS have any flaws, how to solve?
synchronized and lock What is the difference?
Hashtable is how locked?
HashMap concurrency problems?
ConcurrenHashMap introduction? 1.8 Why use red-black tree?
AQS
How to detect deadlock? How to prevent a deadlock?
Java Memory Model?
How to ensure proper multi-threaded under i ++ results?
Kind of thread pool, differences and usage scenarios?
Analysis realization process principles and thread scheduling thread pool?
How to thread pool tuning, how to confirm the maximum number?
ThreadLocal principle, with the time what needs attention?
CountDownLatch CyclicBarrier and usage, as well as the differences between each other?
LockSupport tools
Condition interface and its implementation principles of
understanding Fork / Join framework of
segmented lock principle, efforts to reduce the lock of thinking
characteristic of eight kinds of blocking queues, and each queue blocking of
Spring
BeanFactory and FactoryBean?
Spring IOC understanding of its initialization process?
BeanFactory and ApplicationContext?
Spring Bean's life cycle, how it is managed?
Spring Bean loading process is like?
If you want to implement Spring AOP, may I ask how to achieve?
If you want to achieve Spring IOC, you will pay attention to what issues?
Spring is how to manage the transaction, transaction management mechanism?
Spring propagation behavior of different transactions which, what for?
Spring used in those design patterns?
Spring MVC's works?
Spring loop injection principle?
Spring AOP understanding of the various terms, how they work with each other?
How to ensure the Controller concurrent Spring Security?
Netty
BIO, NIO and AIO
major components of Netty
Netty threading model
causes of TCP stick package / unpacking and solutions
to understand what kinds of serialization protocol? Including the use of scenarios and how to choose
Netty zero-copy achieved
high performance in which aspects of Netty
distributed related to
the underlying principles and mechanisms of implementation of Dubbo
describe a service from the Post to be consumed in detail the process of
how to do distributed systems management service
interface idempotency concept of
how messaging middleware to solve the problem of message loss
Dubbo how to handle the service request failed
reconnection mechanism will not cause erroneous
understanding of distributed transactions
how to achieve load balancing algorithm which can be achieved?
Use of Zookeeper, what is the principle of elections?
Split vertical horizontal split data.
zookeeper principles and applicable scene
zookeeper watch mechanism
redis / how zk down processing node
in a distributed cluster unique serial number, how do
how to do a distributed lock
which used MQ, how to use, and other mq compare what advantages and disadvantages, MQ connections are thread-safe you
how to ensure that data is not lost MQ system
Include database sub-library sub-table strategy you can think of; after sub-library sub-table, how to solve the problem of full-table queries
zookeeper election strategy
global ID
database
mysql pagination what optimization
pessimistic locking, optimistic locking
composite index, the most left-principle
mysql table locks, row locks
mysql performance optimization
index classification of mysql: B +, hash; what happens with what index
transaction isolation level characteristics and
cache
Redis used what data, and how to achieve the underlying Redis
Redis cache penetration, cache avalanche
how Redis is implemented using a distributed lock
how to solve complicated by competition Redis
Redis persistence in several ways, what advantages and disadvantages, how to achieve
Redis cache invalidation policy
Redis clustering, high availability, the principle
Redis cache fragmentation
Redis data out of strategy
JVM
detailed jvm memory model
to talk about what happens next time appears out of memory, a memory leak?
Talk about Java thread stack
JVM younger generations to judge what the conditions of the promotion process old generation is it?
JVM appear fullGC very frequent, online how to troubleshoot the problem?
Why use parent class loader to delegate mode, there is no scene is to break this pattern?
Examples of the class of the order
JVM garbage collection mechanism, when to trigger other operations MinorGC
JVM in a full GC process (from ygc to fgc) What is the
variety collector, their advantages and disadvantages, focusing on CMS, G1
various recovery algorithms
OOM error, stackoverflow error, permgen space error
there not here with more than a a few. Of course, some may not write up, please understand. For a complete resource can add QQ: 941002778 were to receive.

The sharing of resources covering knowledge: Java foundation, Java collections, JVM, multi-threaded, spring principle, micro-services, distributed, Netty, RPC, design patterns, network, Java algorithms, data structures, such as cloud computing

What is the problem, is also very welcome to communicate a message, here I wish you all in advance in 2020 can find a suitable job ~

Special Note: This article material from the network, only to share learning, if infringement, please contact deleted!

Guess you like

Origin blog.51cto.com/14751386/2480354