Front-end early chat conference, a new starting point for front-end growth, jointly held with the Nuggets. Add wechat Codingdreamer into the conference exclusive push group, win at the new starting line.


The 14th | front-end growth promotion, 8-29 will be broadcast live, 9 lecturer (ant gold suit/tax friends, etc.), point I get on the bus 👉 (registration address) :


The text is as follows

This article is the eighth session of front-end online document technology, front-end early chat 50th session, from the Tmall genie technology expert – Xunzhi sharing brief version of the speech (the complete version of the demo please see the video and PPT) :



Introduction to the

Hello, I’m Xunzhi.

Today we are going to talk about how to prepare for the big factory interview, which is mainly divided into four parts. The first part is a simple self-introduction, the second part is my interview preparation, interview process and summary, and the last part is my body feeling after joining the company.


First, introduce yourself

Firstly, I would like to make a brief introduction to myself. First of all, I am in charge of my work experience and current business. Actually, I was a Java backend developer.


The position I interviewed was actually a mobile iOS development expert. At present, I am mainly responsible for the research and development of RN/H5/ small program container multi-terminal framework. In the current big front-end technology evolution environment, the requirements for mobile terminals are becoming higher and higher.


From the perspective of mobile client development, let’s talk about my simple understanding of the big front end:

Web on-line rhythm is flexible, online problems can be quickly fault tolerant scheme, sensitive to WebView/JS engine version, a set of code can cross multi-terminal online business at the same time. In the Tmall Genie business scenario, not only android and iOS mobile terminals need to be supported, but also Tmall Genie CC speaker with screen, Sun Wukong, Erlang God and other terminal devices need to be supported.

The Web end is used as the only interface of the service side, and the Native end is used to decouple services and support the Web end.

The front-end Web side is the specification maker, and defines the DSL specification domain-specific Language (CSS, JS, JSON) of the big front-end Framework through a set of custom JS-Framework layer. The capabilities acquired by the business layer and the development environment all depend on this layer. It is also another positioning of the Web side: security isolation layer. In multi-terminal scenarios, only the jS-Framework layer is open to the business side, physically isolating the possibility of the business layer directly contacting the container.

After the client as an engine, on the one hand, the end of the system level capabilities and the host App private capabilities through standardization, standardization, module output to the JS-Framework layer; On the other hand, the end container carries the front-end page, and the container provides the routing bus and message bus for the Web end to use and access the Native layer.

Among the mainstream technologies of mobile terminal cross-platform, most of them rely on big front-end technologies such as Weex/React Native/ small programs. The Weex/React Native underlying rendering engine is Native, the small application is still WebView rendering, but in the future the core may migrate to the best rendering performance of Flutter.

The core technology principle of big front-end technology: JSBridge. It is the key channel between front-end framework and Native framework in big front-end technology, and it is the only channel, it will hold a JS engine (V8, Hermes, JavaScriptCore, etc.) to generate JS Context, Solve the problem that front-end and Native frameworks cannot communicate directly physically.

The solution is that the Web and Native frameworks register entry methods with JSBridge respectively, and obtain and call each other’s entry methods through JSBridge to complete two-way data interaction.

Two, interview preparation

Here is the interview preparation process.


Self assessment


Job Model analysis, have a clear understanding of the Job skills of big factories, take Alibaba’s P6 and P7 front-end competency requirements as an example:

  • P6 (Senior Engineer level) requires a thorough understanding of professional skills to assist others. At the request of the key contributions and results are more than capable of independent responsible for technology module or all of the module and can participate in the team in or cross team project (which requires the candidate to professional knowledge not only stay on the basis of business implementation, to have in-depth understanding and the implementation principle of digging, to have a deep understanding of business);
  • P7 (Expert level) in terms of professional skills, the requirements are systematic, sub-domain representative, department influence, innovative technology can be reused by others or can lead cross-team projects;
  • Consider the input-output ratio (ROI). This requires that on the basis of professional knowledge and ability, candidates should also have their own understanding of the industry, business development and future technology selection from a team-oriented perspective, group perspective consideration;
  • I am capable of engineering architecture, with my own technology accumulation and open source output. I always pay close attention to the development of technology to avoid being out of touch with The Times. I am capable of acting as project PM, allocating resources of all parties, and promoting the implementation and implementation of projects.

The Job Model also has some flexibility. If you think your ability is higher than P6 and can’t reach the standard of P7, you can position yourself as P6+ or P7-.

Find your baseline, use it as a fulcrum to analyze your weaknesses, and think about your development direction, goals, and vision.

resume


Once you have a sense of where you are and where you want to be, the next step is to write your resume. A resume is your ticket to an interview, and once you’ve been invited for an interview, it becomes less useful. The resume contains your basic information, work experience, project experience and good skills, and then carries out job evaluation, structure sorting, description polishing and highlight mining to package your resume.

Check your resume to see if it meets these requirements:

  • The first is to be concise: this requires a clear resume typesetting, template do not “unconventional”, select important, prominent strength expression, irrelevant and secondary do not express;
  • The second is to be authentic: authenticity shows your sincerity and can be packaged but never faked. Do not appear virtual description, with quantitative indicators to explain, for example, the page loading speed has been improved, specific quantified to the current average opening speed is 600ms, compared with the page loading speed of 1.2s before optimization increased by 100 percent. Stability improvement can be quantified to the page crash rate \ stall rate, how much is before optimization, how much is after optimization, the result is how much is improved;
  • The third is comprehensive: email, contact information and other basic information to be comprehensive, resume each company has a highlight of the project.

Project sorting and knowledge system sorting


The project experience must be real and the valuable technology in the project should be highlighted, which is also the place that the interviewer will pay attention to and ask about. You can talk with the interviewer and summarize the contribution in the project from the four aspects of quality, efficiency, architecture, stability and performance.

Basic computer knowledge, assembly (need to know some operating systems for mobile end related knowledge of assembly, the ARM assembly, AT&T assembly) algorithm and data structure (complexity analysis, list, queue, binary tree and binary sort tree and AVL, red and black tree, B tree, recursion, dynamic programming, greedy) algorithm and data structure is the internal work, It can improve your ability to learn in your field.

My advice: This aspect needs continuous practice and deliberate practice. In addition to doing their own “know how to do the problem”, deliberately practice the algorithm and data structure that they are not familiar with, do the problem to go back to practice repeatedly, this process will be very painful, so slowly get more and more familiar with.

When answering interview questions:

  • 1. Ask questions about details, boundary conditions, and possible extreme error cases.
  • 2. All possible algorithms and the interviewer to communicate, do not immediately start to write their first reaction, but should think about the problem may have a variety of solutions, and then compare the time complexity and space complexity, and then choose an optimal solution. The optimal solution may be to choose the fastest time and the smallest memory consumption under the same time complexity.
  • 3. Write code;
  • 4. Test with test cases (covering normal conditions, boundary conditions, extreme conditions).

Make sure to communicate with the interviewer more. Think of the interviewer as your invigilator, not as an exam, but as your future colleague so as to form a TeamWork and let him help you solve the problem.

Career planning

A good plan is half the battle for a long career. How to make a good planning needs to be divided into short-term planning and long-term planning, thinking about their own development direction. Although the depth of front-end development is not as deep as traditional machine learning and artificial intelligence, it is broad enough.

For example, moving from Node.js to the server/embedded space, more and more terminals now use Web technologies as browsers become more powerful. Build front-end infrastructure, big front-end technology architecture direction (small programs Taro, React), etc.

A profound

After the resume is sent out, there will be a period of resume screening time, during this period of time can find several companies to try the interview, on this basis to adjust their state.

Attitude adjustment

At the end of each interview you need to review your mindset and reassess yourself. The interview process is also a process of personal growth.

The interview process

Please share my interview process. I have gone through six rounds of interviews. You can see the format and contents of each round of interviews from the pictures below.


Iv. Team experience

Finally, let’s talk about my feelings after joining the company and share some of my deepest feelings:


5. Recommended books

Since it is an interview to share, then recommend a book more close to the interview, after touching it you will have a deeper understanding of the algorithm.




This article is formatted using MDNICE