Architect jobs common interview questions

First, what is the daily responsibilities of the architect? 
Overall, the architect responsible for the field of top-level design software. According to the company's development needs architects, architecture planning business for years to come, the development of infrastructure programs can be ground to solve technical problems, do research and technology selection, floor concrete structure. Not only do good architect architecture program, but also to write code for a specific architecture.

Second, the development engineers and architects What's the difference?
Different focus: Architect focuses on the early architecture planning, the need to develop infrastructure programs can be landed, combined with the company's business scene, the team's skill level and other factors make technology selection, solve technical problems and so on; and development engineers focused on specific landing, in particular, focus on development engineer floor specific functions.

Different capacity requirements: Architect relatively high, have a framework of breadth, depth, need to have a series of technology stack architecture, the architecture requires practical experience, we have a strong system analysis, system architecture, system design capabilities. The main requirements are development engineers familiar with the basic technology stack, familiar with the business, quickly landing the relevant features of the product.

Third, how to embark on the road of architecture?  
First, there must be architects of thinking, distributed, high concurrency, high performance, highly available, scalable, loosely coupled, highly cohesive, reusable, system boundaries, security and other aspects have a deep understanding.
Technology should be broad, familiar with the technology stack architecture, such as: the familiar micro-services, caching, distributed messaging middleware, distributed middleware tasks, the data layer of middleware, distributed monitoring middleware, gateway middleware, distributed configuration center and so, not all technology stack to be very proficient, but it is important technology, we must grasp the very deep.
Pay attention to the practice of architecture technology, which is developing very shoes missing. The proposed multi architects and more exchanges, multi-floor practice related technologies, concentrating more than the actual growth will soon. Theory 100 times, it is better practice again. 
Master uml, to enhance the ability of the individual system analysis, system architecture, system design, painting business structure diagrams, technical architecture diagram, write architecture programs.
Written from the perspective of an architect's resume thinking architecture, architecture technology stack, architecture and other duties, focused individual to master the technology stack architecture, architectural highlights focused projects and difficult.
In-house turn architecture, or go to other business transformation architecture. Architecture interviewing more practice, if not experience, allowing architects and more older drivers who mock interview rounds.
Fourth, business architects and architects difference foundation
 For java program ape, the architect divided into business architects, infrastructure architects two categories, transferred from advanced development to business architects, small difficulty, faster results. Business architecture and infrastructure, 70% is the same, that are required to have the ability to infrastructure, the remaining 30% of the business architecture requires proficiency in business, developing the structure plan, floor architecture, infrastructure requirement is 100% pure technology. In the short term, it seems more infrastructure scenery, it is not. Architecture business prospects better, because after 35 years, the fight is comprehensive ability, is no longer a pure architectural capability. Business architecture requires a better communication skills, infrastructure planning, architecture landing capability, some industry business backgrounds, even management capabilities, so easier to do from a business architecture, technical director or cto. If the infrastructure has been done, there may be a chief architect. General architecture old driver is business architecture, infrastructure-take-all, a good job, to what mountain, what songs.

Five, UML for system architecture that important?
UML is the basic architecture, but the development of children's shoes can easily be overlooked. Architects have a strong system analysis, system architecture, system design, architecture skills, by mastering UML, enhance these capabilities. Business architecture can be abstracted by the core service platform UML use cases, business processes can be complex to articulate analysis model, design stage higher order, using the package diagram, FIG assembly, the deployment FIG design, deployment clear. Middleware Architect design basis, you can draw uml collaboration diagrams, activity diagrams or technical function expression processes, the design stage, you can draw package diagram, expressing the function of each package, and then people can roll up the specific code middleware technology together, do specific architecture floor.

Six, Springcloud Dubbo and with what?  
Dubbo contrast, mature and stable, low threshold number of complete documents, but many service governance function is missing. Springcloud large and comprehensive, but many features are not powerful, immature. In the long run, personally bullish Spring cloud, although there are some pits, but also the threshold, but the overall trend is stronger than Dubbo higher than Dubbo, Spring cloud ecosystem better than Dubbo, more comprehensive. Master Dubbo and Spring cloud is no conflict, the two have a lot in common, there are a lot of different places.

Seven, distributed regular tasks and general tasks What is the difference?
Distributed regular tasks typically can run multiple servers simultaneously timed task, the task than the general high efficiency, high availability than the general tasks (do failover, there is no single point of issue on architecture, node can monitor task), performance strong (strong scalable architecture, with multiple machines running, the execution time is shorter), supports concurrent capacity far exceeds the general task of general tasks (multiple machines execution than, the huge amounts of data can be assigned to different machines execution, concurrent capacity is very good).

Eight, what high concurrency and performance differences and links are? 
Briefly, a high number of concurrent access, high performance access is the response time, two different angles. Concurrent common quantization parameter index, qps, tps, etc., the performance processing time is generally quantitative indicators, such as: an interface 10ms response time is 5 minutes, the performance is completely different. qps 100 and qps 500,000 concurrent architecture is completely different. If architecture is unreasonable, the greater the amount of concurrency, the worse the performance. If the structure reasonable amount of concurrent basically had no impact on the size of the performance, you can add machines, software architecture does not require any changes.

Nine, why the project manager in the country is actually a very dangerous job? 
In fact, nothing gold project management, project manager for alternative work in fact very strong, can be replaced by a product manager, technical manager, core development and other stakeholders. Especially from middle age onwards, the project manager is difficult to find a suitable job.

Ten, reactor thread refers to which part of the reactor model?
The question itself is problematic. reactor threading model is divided into single-threaded, multi-threaded, multi-threaded master and slave. The actual programming process, with the second most,

XI, messaging middleware is currently the largest frequency of use RabbitMQ it?
Technology selection is from the use of the technology scene, a comprehensive assessment of the advantages and disadvantages. Many companies use RocketMQ and kafka, big data base 100% selected kafka.

Twelve, which algorithms are limiting the service have? 
Services limiting common algorithm concurrent counter algorithm, leaky bucket, token bucket algorithm. The first two algorithm does not support burst traffic limiting, limiting token bucket algorithm supports bursty traffic. General use Google guava floor token bucket algorithm with sentinel as limiting the middleware services.

XIII, data synchronization what way? 
In fact, this issue involves a lot of scenes. If databases can be synchronized data SqlLoader, GoldenGate related tools; large data areas can synchronize data ETL, Hadoop related art; if a timing schedule initiated, consider using SpringBatch, Quartz, Elastic-Job distributed tasks such as data synchronization middleware initiated; if it is asynchronous scene, can be used to achieve mq monitor and incremental data synchronization. Under the case of large quantities of data, consider upgrading the performance as much as possible with the relevant technical means mq, thread pooling, multi-threaded, data batch operation.

Fourth, hundreds of millions of data on how large-scale update? 
Tasks can be distributed with a large slice of task scheduling middleware to do, the hundreds of millions of data points to multiple machines do. If less demanding real-time, you can set a certain time interval, reducing the pressure DB; if the higher real-time requirements, the data layer is required sub-libraries. If incremental data more every day, consider periodically for data archiving.

Fifteen, dubbo if there is anything defective
dubbo many defects Yeah, especially the service governance, service limiting algorithm is flawed, burst traffic problem, the service has just blown there, but there are also shortcomings, only supports point-surveillance monitoring, distributed link monitoring can not do, no service gateway, service grouping capabilities too weak. dubbo there is room for improvement performance, the codec does not support messagpack, communication could be improved. Too simple function monitoring center, the monitoring center and management background is not integrated. dubbo just open up and springcloud, support is not very friendly.

Sixteen, in a distributed environment, how to prevent RocketMQ message repeated consumption?
Consumer can be based on a distributed lock to solve the problem of rocketmq message idempotent. It may be a distributed lock messageid from a purely technical point of view, or a business perspective natural key uniqueness can be achieved rocketmq consumption idempotent message. In addition, rocketmq producers send messages, and so on itself to ensure the power of the message, the message is mainly to ensure that consumer consumption idempotency.

Seventeen, MongoDB and Redis What is the difference?
Positioning is not the same, the former is based on a distributed file storage database, which is cached, many companies are prohibited when the redis database to use, in general, experienced architecture team dictate the cache expiration time of up to 7 day. More than 7 days, hotspot data and regenerate.

XVIII whether rocketmq will lose the message
rocketmq generally will not lose messages, so-called rocketmq lost messages, there are two common reasons 1, the development of children's shoes have to write the code logic consumers bug, for example, there is a message code logic consumption abnormalities, abnormal eaten yet, and returns a successful status, resulting in lost man-made message. 2, operation and maintenance aspects of a problem, to write a message distributed storage problems, leading to lost messages. In both cases lead to so-called lost messages to the first majority, many developing children's shoes will make the first mistake.

Nineteen, Spring cloud and dubbo with what?
dubbo contrast, mature and stable, low threshold number of complete documents, but many service governance function is missing. large and spring cloud, but many features are not powerful, immature. In the long run, personally optimistic about the spring cloud, although there are some pits, but the threshold is higher than dubbo, but the overall trend is stronger than dubbo, spring cloud ecosystem better than dubbo, more comprehensive. Master dubbo and spring cloud is no conflict, the two have a lot in common, there are a lot of different places. Ali and technical team has developed a spring-cloud-alibaba, move closer to the spring-cloud is dubbo, integration made technical preparations.

XX, how do technology selection?
Technology selection is the ability job, architects often do technology selection, there will be a multiple-choice answers, there are several programs to senior management or to technical development team. Rather than one up is to write the code architecture. Dereliction of duty of the architect is to give technical leader or a question for the technical team, a long essay questions, which can leave. Architect architecture have a certain skill, will give a technical team leader or multiple-choice questions, there's a technology suitable to compare each technology (program) advantages and disadvantages of technology or technical leadership team would be like to technology to convince the people. General idea architecture: the problem (background) - "Technical Research (selection) ---" plan (plan) --- "landing (line and Code), any architecture or technology, should solve the problem, to be valuable .

XXI that technology selection is mainly who is responsible, who is going to pot it back?
Who is responsible for finding out, for example, if the election is the architect, the architect will certainly be responsible. Technology selection, from the company's business scene, technical aspects to compare the advantages and disadvantages of each technology, for example, for several MQ, kafka, rocketmq, rabbitmq, activemq, from a technical application scenarios, technology maturity, technical threshold, serviceability, performance, concurrency, scalability point of view to compare the advantages and disadvantages of each technique MQ above plurality of angles, the person doing the selection, multiple-choice questions as possible, compare the advantages and disadvantages of each technique, do technology Furen, so that the relevant person or related group, convinced.

XXII, how to embark on the road of architecture?
1, first of all have architect thinking, distributed, high concurrency, high performance, high availability, scalability, loosely coupled, high cohesion, reusable, system boundary, security aspects have a deep understanding 2, technical should be broad, familiar with the technology stack architecture, such as: the familiar micro-services, caching, distributed messaging middleware, distributed middleware tasks, the data layer of middleware, distributed monitoring middleware, gateway middleware, distributed configuration centers, etc. not all technology stack to be very proficient, but it is important technology, we must grasp the very deep 3, pay attention to the practice of architecture technology, which is developing very shoes missing. The proposed multi architects and more exchanges, multi-floor practice related technologies, concentrating more than the actual growth will soon. Theory 100 times, it is better practice again. Capacity of 40,000, master uml, enhance their system analysis, system architecture, system design, painting business structure diagrams, technical architecture diagram, writing and other aspects of the architecture program 5, thinking in terms of architecture, architecture technology stack, architecture duties to write a part architect resume, focused individual to master the technology stack architecture, architectural highlights focused projects, difficulty 6, turn within the enterprise architecture, or go to other business transformation architecture. Architecture interviewing more practice, if not experience, allowing architects and more older drivers who mock interview rounds.

Xxiii, domain-driven design model is usually used when not?
Not recommended, especially not for Internet companies. Comprehend drive design is a design methodology Americans invention, for complex business, code stratification is not recommended to use, the threshold is high, personally think that is not suitable for China's national conditions, not particularly suitable for agile development of the Internet, it the quality of the developer demanding. Anemia model, model congestion, bleeding model, the model models the blood swelling very complicated and around, the code will comprehend driving layered design do more complex, development efficiency lower than the efficiency of conventional four-tiered codes. I previously worked for a company through the implementation of insight-driven design, poor, and later was changed to a traditional four-layer model. There was an architect colleague led the field-driven design code landing layered effect is not good, the actual code that developers have landed a lot of confusion, prone to confusion, development efficiency is not high. Good architecture is the Road to SR, simple, easy to use architecture have living space.
--------------------- 
Author: a glass of wine 
 Original: https: //blog.csdn.net/u012562943/article/details/91040381 
 

Guess you like

Origin blog.csdn.net/weberhuangxingbo/article/details/91385771