Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the test questions for Java architects?

2025-01-29 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

Most people do not understand the knowledge points of this article, "what are the Java architecture test questions?", so the editor summarizes the following content, detailed content, clear steps, and has a certain reference value. I hope you can get something after reading this article. Let's take a look at this "what are the Java architecture test questions?"

Basic topic

State of the Java thread

The difference between processes and threads, how to communicate between processes, how to communicate between threads

What is the data structure of HashMap? How to achieve it. The difference between and HashTable,ConcurrentHashMap

The difference between Cookie and Session

What's the use of indexing? How to build an index?

How is ArrayList implemented? what is the difference between ArrayList and LinkedList? how does ArrayList achieve capacity expansion?

Equals method implementation

object-oriented

Thread state, what's the difference between BLOCKED and WAITING

How JVM loads bytecode files

JVM GC,GC algorithm.

What will happen to Full GC and what will happen to yong GC.

JVM memory model

Java Runtime data area

The implementation principle of transaction

Technical depth

Have you ever seen the JDK source code? what is the principle of class implementation you have seen?

HTTP protocol

TCP protocol

Consistent Hash algorithm

How JVM loads bytecode files

How to unload bytecode by class loader

The difference between IO and NIO, the advantages of NIO

The implementation principle of Java thread pool and the function of parameters such as keepAliveTime.

Implementation principle of HTTP connection Pool

Implementation principle of database connection pool

The realization principle of Database

Technical framework

I have seen the source code of which open source frameworks

Why do you want to use Redis,Redis? what are the advantages and disadvantages? how does Redis achieve capacity expansion?

How and why does Netty use thread pools?

Why use Spring,Spring? what are the advantages and disadvantages?

IOC container initialization process for Spring

Spring's IOC container implementation principle, why can you find Bean through byName and ByType

Principle of Spring AOP implementation

How is message middleware implemented and what are the technical difficulties?

System architecture

How to build a highly available system

Which design patterns can increase the scalability of the system

Introduce design patterns, such as template pattern, command pattern, policy pattern, adapter pattern, bridge pattern, decoration pattern, observer pattern, state pattern, visitor pattern.

Abstract ability, how to improve the efficiency of research and development.

What is high cohesion and low coupling? please give an example of how to achieve

What situations use interfaces and what situations use messages?

How to remove the dependence if the two systems of AB depend on each other

How to write a design document and what is the catalog

What scenarios should split the system and what scenarios should merge the system?

The difference between the system and the module, in what scenarios are they used?

Distributed system

Distributed transaction, two-phase commit.

How to realize distributed Lock

How to realize distributed Session

How to ensure the consistency of messages

Load balancing

Forward proxy (client proxy) and reverse proxy (server-side proxy)

Principle of CDN implementation

How to improve the QPS and throughput of the system

Actual combat capability

Have you ever dealt with online problems? Memory leak, CPU utilization elevation, how to deal with when the application does not respond.

Are there any technical problems encountered in the development? How to solve the problem?

If there are billions of whitelists that require highly concurrent queries during the day and update at night, how to design this feature.

How does Sina Weibo push Weibo to subscribers?

How Google returns search results to users in a second.

12306 how to realize the booking system of the website and how to ensure that the tickets will not be oversold.

How to implement a second kill system to ensure that only a few users can buy a product.

Soft ability

How to learn a new technology, such as how to learn Java, what to focus on

What new technologies do you pay attention to?

How to deal with a lot of work tasks in very complicated time

How to deal with project delays

How to deal with the design idea that is different from that of colleagues?

How to ensure the quality of development

What is the career plan? What are the short-term and long-term goals

What is the team's plan?

Can you tell me where I grew up from my job to the present?

The level of JAVA architect

Since you are an java architect, first of all, you are an advanced java siege corpse, proficient in using various frameworks and knowing how they are implemented. Jvm virtual machine principle, tuning, understand jvm can enable you to write better code; pooling technology, what object pooling, connection pooling, thread pooling.:; java reflection technology, the necessary technology for writing the framework, but there are serious performance problems, the alternative java bytecode technology; nio, there is nothing to say, it is worth paying attention to the characteristics of "direct memory", the use of scenarios; java multithread synchronous and asynchronous Java various collection object implementation principle, understand these can let you choose the appropriate data structure when solving the problem, efficiently solve the problem, such as the implementation principle of hashmap, many people with more than five years experience are not clear, and why is there a performance problem when expanding? If you don't understand these principles, you won't be able to write efficient code, and you'll think you're doing the right thing; in short, the more basic things you say, the more important it is. Many people think they can write code with them, but they just know how to call api, which is far from being able to use it.

Proficient in the use of a variety of data structures and algorithms, arrays, hashes, linked lists, sort trees. In a word, either time for space or space for time, a lot can be said here, and some application experience is needed to solve a variety of performance or business problems.

Proficient in the use of linux operating system, necessary, there is nothing to say.

Familiar with the tcp protocol, the whole process of creating a connected three-way handshake and a disconnected four-way handshake, if you don't know it, you can't optimize the highly concurrent network applications; familiar with the http protocol, especially the http header, I find that many people who have worked for more than five years can not understand the life cycle of session and cookie and the relationship between them.

System cluster, load balancing, reverse proxy, dynamic and static separation, website static.

Nfs,fastdfs,tfs,Hadoop, a distributed storage system, understands their advantages and disadvantages and is suitable for scenarios.

Distributed cache technology memcached,redis, necessary to improve system performance, in a word, put the contents of the hard disk into memory to speed up, by the way, an algorithm consistency hash.

Tool nginx essential skills super easy to use, high performance, basically will not hang up the server, many functions, to solve a variety of problems.

Database design ability, mysql essential, the most basic database tools, free and easy to use, its basic parameter optimization, slow query log analysis, master-slave replication configuration, at least half of the mysql dba. Other nosql databases such as mongodb.

And queue middleware. For example, message push can first be written to the database, pushed and placed on the queue server, and the push server can go to the queue for processing, so that the message can be placed in the database and queue and then directly fed back to the user. The push process is completed by the push server and the queue server, which benefits asynchronous processing, relieves server pressure, and decouples the system.

The above are purely commonly used techniques, and there are a lot of things to explore by yourself; because there are so many things to know, to be a qualified architect, you must have a strong ability of self-study, and no one will teach you everything hand in hand.

If you want to be an architect, you can't just understand a lot of technology. these are the basis and tools for solving problems. How can you propose solutions if you don't understand them? This is a necessary condition for being an architect.

The architect also has to put forward a design scheme that can solve the problem and cost according to the business characteristics and the performance requirements of the system. For a system with hundreds of users, the number of visits is small and the amount of data is small. You put people on clusters, distributed storage, high-end servers, and structure for the sake of architecture. This is the most nonsense. The role of architects is to meet business needs. Second, the hardware network cost and technical maintenance cost.

According to the stage of business development, the architect should also foresee the development of the solution of the system architecture to the next stage in advance, and when designing the current architecture, take into account the upgrade and expansion of the architecture to make it easy to upgrade; otherwise, wait for the bottleneck of the system to come up with a solution, or the existing architecture can not be extended and directly throw away a lot of troublesome problems, which will cause losses to the enterprise.

Programmers should need to be self-aware, yes, no, no.

The above is about the content of this article "what are the Java architect interview questions?" I believe we all have a certain understanding. I hope the content shared by the editor will be helpful to you. If you want to know more about the relevant knowledge, please pay attention to the industry information channel.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report