Common interview questions for Java architect positions, don’t panic after reading the interview! (To be continued...)

1. What are the daily responsibilities of an architect?

In general, the architect is responsible for the top-level design of the software domain. Architects need to plan the structure of the enterprise in the next few years according to the development of the company, formulate a feasible architecture plan, solve technical problems, do technology selection and research, and implement a specific architecture. Excellent architects can both make architectural plans and write specific architectural codes.

2. What is the difference between a development engineer and an architect?

The focus of work is different: the architect focuses on the pre-architectural planning, and needs to formulate a practical architecture plan, combined with the company’s business scenario, the team’s technical level and other factors to make technical selection, solve technical problems, etc.; while the development engineer focuses on the specific In particular, the development engineer’s work focuses on specific functions.

Competence requirements are different: architects require relatively high requirements, they need to have the breadth and depth of architecture, they need to master a series of architecture technology stacks, they need to have practical experience in architecture, and they must have strong system analysis, system architecture, and system design capabilities. Development engineers are mainly required to be familiar with the basic technology stack, familiar with related businesses, and quickly implement the relevant functions of the product.

3. How to embark on the road of architecture?

First of all, you must have the thinking of an architect, and have a deep understanding of distributed, high concurrency, high performance, high availability, scalability, loose coupling, high cohesion, reusability, system boundaries, security, etc.

A wide range of technologies, familiar with the architecture technology stack, such as: familiar with microservices, caching, distributed message middleware, distributed task middleware, data layer middleware, distributed monitoring middleware, gateway middleware, distributed configuration center, etc. Wait, not all technology stacks need to be very proficient, but important technologies must be mastered very deeply.

Pay attention to the practice of architecture technology, which is very missing in developing children's shoes. It is recommended to communicate more with the architects, implement more related technology practices, and focus more on the actual combat. The growth will be very fast. It is better to read the theory 100 times than to practice it again.

Master uml, improve personal system analysis, system architecture, system design, drawing business architecture diagrams, technical architecture diagrams, and writing architecture plans.

From the perspective of architectural thinking, architectural technology stack, architectural responsibilities, etc., write an architect's resume, focusing on the architectural technology stack that you have mastered, and highlight the highlights and difficulties of the project.

Transform the structure within the enterprise, or go to another enterprise to transform the structure. Practice more in architecture interviews. If you have no experience, you can let the architects and old drivers simulate a few more rounds of interviews.

Fourth, the difference between business architects and infrastructure architects?

For Java programmers, architects are divided into two categories: business architects and infrastructure architects. The transition from advanced development to business architect is less difficult and fast. 70% of the business architecture and the infrastructure are the same, that is, both require architectural capabilities, and the remaining 30% is that the business architecture requires proficiency in the business, develops an architecture plan, and implements the architecture. The infrastructure requires 100% pure technology. In the short term, it seems that the infrastructure is better, but it is not. Business architecture development prospects are better, because after the age of 35, it is a comprehensive ability that is no longer a pure architecture ability. Business architecture requires better communication skills, architecture planning, architecture implementation capabilities, a certain industry business background, and even management capabilities, so it is easier to achieve technical director or cto from business architecture. If you have been doing infrastructure, you may be the chief architect. The general structure of the old driver is the business structure, the basic structure takes all, good employment, which mountain to sing what song.

5. Is UML important to the system architecture?

UML is a basic architectural skill, but it is easily overlooked by the development of children's shoes. Architects must have strong system analysis, system architecture, system design, and architecture expression capabilities, and they can improve these capabilities by mastering UML. Business architects can abstract the core use cases of the business platform through UML, and can express complex business processes clearly in analytical models. In the high-level design stage, use package diagrams, component diagrams, and deployment diagrams to express design and deployment clearly. Basic architects can design middleware. They can draw uml collaboration diagrams or activity diagrams to express the flow of technical functions. In the design phase, they can draw package diagrams to express the functions of each package. Then multiple people can work together to draw the specific code of the technical middleware. The specific structure is implemented.

6. Which one do Springcloud and Dubbo use?

Dubbo is relatively mature and stable, and the threshold for complete documentation is lower, but many service governance functions are missing. Springcloud is large and comprehensive, but many functions are not powerful and immature. In the long run, individuals are more optimistic about Spring cloud. Although there are still some pits and the threshold is higher than Dubbo, the overall development trend is stronger than Dubbo. The Spring cloud ecosystem is better than Dubbo and has more comprehensive functions. There is no conflict between mastering Dubbo and Spring cloud. The two have many similarities and many differences.

7. What is the difference between distributed timing tasks and general tasks?

Distributed timing tasks are generally that multiple servers can run timing tasks at the same time. The efficiency is higher than general tasks, and the availability is higher than general tasks (failover can be done, there is no single point of problem on the architecture, task nodes can be monitored), performance It is stronger than general tasks (the architecture is highly scalable, multiple machines run together, and the execution time is short), and the support for concurrency far exceeds general tasks (multiple machines execute, and massive data can be distributed to different machines Execution, concurrency is very good).

8. What is the difference and connection between high concurrency and high performance?

Simply put, high concurrency is the number of visits, high performance is the response time of visits, two different perspectives. Common parameter indicators for concurrent quantification, qps, tps, etc., performance quantification indicators are generally processing time, such as: interface response time is 10ms and 5 minutes, performance is completely different. The concurrent architecture with a qps of 100 and a qps of 500,000 is completely different. If the architecture is unreasonable, the greater the amount of concurrency, the worse the performance. If the architecture is reasonable, the amount of concurrency basically has no effect on performance, just add a machine, and the software architecture does not require any changes.

9. Why is a project manager actually a very dangerous profession in China?

In fact, project management has no gold content. Project managers are actually very substitutes. They can be replaced by stakeholders such as product managers, technical managers, and core development. Especially after middle age, it is difficult for project managers to find suitable jobs.

10. Which part of the reactor model does the reactor thread refer to?

The problem itself is problematic. The reactor thread model is divided into single-thread, multi-thread, master-slave multi-thread. In the actual programming process, the second one is the most used.

11. Is RabbitMQ the most frequently used message middleware?

The selection of technology is comprehensively evaluated from the use scenarios, advantages and disadvantages of the technology. Many companies use RocketMQ and kafka, and big data basically chooses kafka 100%.

12. What are the algorithms for service current limiting?

Common algorithms for service current limiting include concurrent counter algorithm, leaky bucket algorithm, and token bucket algorithm. The first two algorithms do not support the current limit of burst traffic, and the token bucket algorithm supports the current limit of burst traffic. Generally, Google’s guava landing token bucket algorithm is used, and sentinel is used as the middleware for service current limiting.

(To be continued...)

Architect interviews are never static. Only proficient in mastering the underlying principles and architecture techniques can be comfortable for all interviews. I have also compiled some real interview questions from BAT manufacturers, and I hope it will be helpful to your architecture interviews.
Insert picture description here

Insert picture description here

The answers to the above interview questions are organized into document notes. As well as interviews also compiled some information on some of the manufacturers & interview Zhenti latest 2021 collection (both documenting a small portion of the screenshot) free for everyone to share, in need can click to enter signal: CSDN! Free to share~

If you like this article, please forward it and like it.

Remember to follow me!

Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_49527334/article/details/114855271