当前位置:网站首页>Ali on three sides, it's really difficult to successfully get the offer rated P7
Ali on three sides, it's really difficult to successfully get the offer rated P7
2022-07-02 12:55:00 【Follow me to learn java】
If you want to work in a big factory, you can say that thousands of troops are crossing a single wooden bridge . We must pass the tests , Brush problem It must be essential .
As a typical representative of Internet technology in China , Alibaba's technology has always been the focus of attention . Can work in Ali , Is the goal and dream of many developers , To help developers improve their interview skills 、 Interview of Internet companies with high efficiency , Xiao Bian took the latest one to Ali offer The interview experience of programmers is shared with you , I hope that helps .

one side
- Self introduction.
- Monitoring in the project : What are the common monitoring indicators ?
- What are the technologies involved in microservices and what problems should be paid attention to ?
- Registry what do you know about ?
- consul Do you understand the reliability of ?
- consul Have you ever gone into the mechanism of ? Have you compared it with other registries ?
- The project with Spring More , Do you understand Spring Principle ?AOP and IOC Principle
- Spring Boot In addition to automatic configuration , Compared with traditional Spring What are the other differences ?
- Spring Cloud What do you know ?
- Spring Bean Life cycle of
- HashMap and hashTable difference ?
- Object Of hashcode Method overridden ,equals Should we change the method ?
- Hashmap Thread unsafe scenario
- Online services CPU What should I do ? What measures can we take to find the problem
- JDK Which thread pools are in ? By the way, I've talked about thread pools all over the world
- Should try to avoid in where Used in clauses != or <> The operator , Otherwise, the engine will discard the index and scan the whole table
- SQL Order of indexes , Order of fields
- see SQL Is index used ?( What are the tools )
- TCP and UDP The difference between ?TCP How to be reliable in the process of data transmission ?
- Let's talk about the sort algorithm you know
- Find the median of an array ?
Two sides
Do you have any questions for me ?( Regular questions )
- Self introduction. 、 Work experience 、 Technology stack
- What technology did you learn in the project ?
- Granularity of microservice segmentation ?
- How to guarantee the high availability of microservices ?
- Load balancing and reverse agent , Isolation , Current limiting , Downgrade , Timeout and retry , Roll back , Stress testing and contingency plans
- Common load balancing , How to use , Can you say something ?
( Technical questions )
- http Redirect
- DNS Load balancing
- Reverse agent load balancing
- IP Load balancing (LVS-NAT)
- Direct routing (LVS-DR)
- IP Tunnel (LVS-TUN)
- What benefits can gateways bring to back-end services ?
- Spring Bean Life cycle of
- xml Configured in init、destroy How can methods call specific methods ? The mechanism of reflection
- Object Methods in class
- Whether the object comparison is the same
- hashmap put How to judge whether the method is repeated when storing
- Object toString Methods are commonly used , Why rewrite this method
- Set and List difference ?
- ArrayList and LinkedList difference
- If access to the same data ,ArrayList and LinkedList Who takes up more space ?
- Set Is the order of storage orderly ?
- common Set What are the implementations of ?
- TreeSet What are the requirements for storing data ?
- HashSet The underlying implementation of ?
- TreeSet Have you seen the underlying source code ?
- HashSet Is it thread safe ? Why not thread safe ?
- Java Which thread safe Map?
- HashTable Do you know ?
- How to ensure thread safety ?
- synchronized、lock
- volatile The atomicity of ? Why? i++ This doesn't support atomicity ? The reason why atomicity can't be guaranteed in terms of the design of Computer Principles happens before principle
- cas operation
- lock and synchronized The difference between ?
- Fair and non-fair locks
- Java Read-write lock
- What is the main problem of read-write lock design ?
- In addition to writing Java Code , And front-end code , Do you know what the front-end framework is ?
- MySQL Paging query statement
- MySQL Transaction characteristics and isolation levels
Two 、 Concurrency of transactions
- What scene does non repeatable reading appear in ?
- sql having Usage scenarios of
- One of the front browser addresses http How is the whole process from request to backend ?
- http Default port ,https Default port
- DNS Do you know what it is ?
- Use your ide What is it ? You can say idea A few commonly used shortcut keys ?
- What do you use for code version management ?
- git rebase and merge What's the difference? ?
Does your company work overtime ?( Digression )
Give an example to answer :
The project with Spring More , Do you understand Spring Principle ?AOP and IOC Principle
answer :(1). IoC(Inversion of Control) The container controls the relationship between program objects , Not in traditional implementation , Directly controlled by program code . Control is transferred from the application code to the external container , The transfer of control is called reversal . about Spring for , Is the Spring To control the life cycle of an object and the relationship between objects ;IoC There's another name ——“ Dependency injection (Dependency Injection)”. Understand from the name , So called dependency injection , That is, the dependencies between components are determined by the container during the runtime , That is to say, the container dynamically injects some kind of dependency into the component .
(2). stay Spring In the way we work , All classes will be in spring Register... In container , tell spring This is something , What do you need , then spring When the system is running properly , Offer you what you want , At the same time, give you to other things that need you . Creation of all classes 、 Destroyed by spring To control , That is to say, it is no longer the object that references it that controls the object's life cycle , It is spring. For a specific object , It used to control other objects , Now it's all the objects that are spring control , So this is called inversion of control .
(3). In system operation , Dynamically provide some object with other objects it needs .
(4). The idea of dependency injection is realized through reflection mechanism , When instantiating a class , It calls the class through reflection set Methods will be saved in advance in HashMap Class attributes in the class are injected into the class . To make a long story short , In the traditional way of object creation , It's usually up to the caller to create an instance of the callee , And in the Spring The work of creating callees in is done by Spring To complete , Then inject the caller , It's called dependency injection or Inversion of control . There are two ways to inject : Dependency injection and setup Injection ; IoC The advantages of : Reduced coupling between components , Reduces the complexity of replacing business objects , Make it flexible to manage objects .
AOP(Aspect Oriented Programming)
(1). AOP Aspect oriented programming is based on IoC, It's right OOP A useful addition to ;
(2). AOP Use a method called “ Crosscut ” Technology , Dissect the inside of the sealed object , And put those influences on The common behavior of multiple classes is encapsulated into a reusable module , And call it “Aspect”, In other words . So-called “ aspect ”, In short , It's not about business , But it is called by the business module Logic or responsibility , Like logging , Ease of reducing system duplication , Reduce the coupling between modules , And is conducive to the future of operability and maintainability .
(3). AOP It represents a horizontal pass system , take “ object ” It's like a hollow cylinder , It encapsulates the properties and behaviors of objects ; Aspect oriented programming method , Is to cut this cylinder in the form of a section , Selectively provide business logic . and The open section , It's called “ aspect ” 了 . Then it restores these cut sections with its skillful hand of seizing the sky skill , Leave no trace , But it's done .
(4). Realization AOP Technology , There are two main categories : One is to adopt dynamic agent technology , Using the method of intercepting messages , Decorate the message , To replace the execution of the original object behavior ; The other is static weaving , Introduce specific syntax to create “ aspect ”, This allows the compiler to weave information about “ aspect ” Code for .
(5). Spring Realization AOP:JDK Dynamic proxy sum CGLIB agent JDK A dynamic proxy : Its proxy object must be the implementation of an interface , It accomplishes the proxy of the target object by creating an interface implementation class during runtime ; The two core classes are InvocationHandler and Proxy. CGLIB agent : The implementation principle is similar to JDK A dynamic proxy , But the proxy object it generates during runtime is a subclass of the target class extension .CGLIB It's an efficient code generation package , The bottom is dependent on ASM( Open source java Bytecode editing class library ) Operating bytecode , Performance ratio JDK strong ; Need to introduce package asm.jar and cglib.jar. Use AspectJ Injection section and @AspectJ In fact, the annotation driven aspect is realized by dynamic proxy .
(6). AOP Use scenarios :
- Authentication Permission check
- Caching cache
- Context passing Content delivery
- Error handling Error handling
- Lazy loading Delay loading
- Debugging debugging
- logging, tracing, profiling and monitoring logging , track , Optimize , calibration
- Performance optimization performance optimization , Efficiency check
- Persistence Persistence
- Resource pooling Resource pool
- Synchronization Sync
- Transactions Business management
in addition Filter Implementation and struts2 The implementation of the interceptor is AOP The embodiment of thought .
Ali's interview scene and interview answers ( Document summary )

Last
I also have a collection of Java Face to face interview , Take this opportunity to give it to my readers for free :

Altogether 14 Topics , Enough readers for the interview , It also saves time for friends to search for information everywhere and organize themselves ! Friends in need : Official account :JavaAC, Free access
There are already readers who rely on this Java The interview knowledge guide was good offer 了 , Dear readers, come to me and get it for free
Internet Java Engineer Interview Questions

边栏推荐
- Linear DP acwing 896 Longest ascending subsequence II
- js 迭代器 生成器 异步代码处理 promise+生成器 -> await/async
- Js8day (rolling event (scroll family), offset family, client family, carousel map case (to be done))
- Variable, "+" sign, data type
- bellman-ford AcWing 853. Shortest path with side limit
- [ybtoj advanced training guidance] judgment overflow [error]
- Some sudden program ideas (modular processing)
- 2.6 using recursion and stack - [tower of Hanoi problem]
- ASP. Net MVC default configuration, if any, jumps to the corresponding program in the specified area
- Do you know all the interface test interview questions?
猜你喜欢

VIM super practical guide collection of this one is enough

Win10 system OmniPeek wireless packet capturing network card driver failed to install due to digital signature problem solution

模数转换器(ADC) ADE7913ARIZ 专为三相电能计量应用而设计

async/await 异步函数

JS iterator generator asynchronous code processing promise+ generator - > await/async

哈希表 AcWing 840. 模拟散列表

Dijkstra AcWing 850. Dijkstra finding the shortest circuit II

js1day(输入输出语法,数据类型,数据类型转换,var和let区别)

LTC3307AHV 符合EMI标准,降压转换器 QCA7005-AL33 PHY
![[ybtoj advanced training guidance] cross the river [BFS]](/img/4e/83f14452ea6410768cdd01e725af2e.jpg)
[ybtoj advanced training guidance] cross the river [BFS]
随机推荐
Ltc3307ahv meets EMI standard, step-down converter qca7005-al33 phy
bellman-ford AcWing 853. Shortest path with side limit
js3day(数组操作,js冒泡排序,函数,调试窗口,作用域及作用域链,匿名函数,对象,Math对象)
Input box assembly of the shutter package
Js6day (search, add and delete DOM nodes. Instantiation time, timestamp, timestamp cases, redrawing and reflow)
Browser node event loop
Oracle从入门到精通(第4版)
JDBC 预防sql注入问题与解决方法[PreparedStatement]
js1day(輸入輸出語法,數據類型,數據類型轉換,var和let區別)
面渣逆袭:MySQL六十六问,两万字+五十图详解!有点六
. Net, C # basic knowledge
Js3day (array operation, JS bubble sort, function, debug window, scope and scope chain, anonymous function, object, Math object)
Anti shake throttle
腾讯三面:进程写文件过程中,进程崩溃了,文件数据会丢吗?
染色法判定二分图 AcWing 860. 染色法判定二分图
架构师必须了解的 5 种最佳软件架构模式
2.6 using recursion and stack - [tower of Hanoi problem]
一些突然迸发出的程序思想(模块化处理)
基于STM32的OLED 屏幕驱动
包管理工具