Original address in my blog, reproduced please indicate the source, thank you!

From the summer vacation in the second semester of sophomore year (July 14) to the beginning of August, I have been looking for an internship to exercise myself and see how I am doing in school. During this period, I interviewed xiaomi, Tuniu, Didi and Baidu successively and got internship offers. Baidu offered me two internship offers, but I stood them up due to some reasons. 4, (my face ⁻̫ is my red), I treasured these two opportunities, but for irresistible reasons, I will vote again. It was a rare experience. During the internship, I have not been free to share with you. The result has been delayed until now. So this article will share my interview and internship experience

The interview

I don’t remember some of them, because it’s been so long…

millet

  • Tell me about your front-end learning experience
  • The CSS has fixed width on the left and right sides and adaptive width in the middle
  • Css3 animation, transition properties know how much
  • How do you configure Webpack in your project
  • How to determine whether a variable is true or false
  • Array deduplication requires order n time
  • HTTP status code 304 what do we have
  • Cross domain method
  • Nothing else…

Way cattle

  • What types does Typeof return what does Typeof NULL return, and why?
  • What’s the difference between cookies and sessions
  • Have you actually written and solved cross-domain related problems
  • What es6/7 features have you used
  • Talk about some of promise’s common apis and principles
  • React features, then ask the principle, then ask where
  • The difference between heap and stack
  • Nothing else…

drops

  • What is used in the React technology stack project
  • React features, virtual DOM, DIff, composite events, and harmonization
  • Why give a key to a list-like component?
  • React source code?
  • What state management libraries have you used? I said Redux, then asked how Redux manages React, and how do you use Redux to structure your projects
  • What are the pros and cons of Redux
  • Know anything about data visualization? Have you ever made anything like that?
  • To understand the node?
  • I don’t remember anything else… React stack = React stack = React stack = React stack

Baidu (Map Business Division)

  • You are an intern at Didi, why do you want to work at Baidu? (blablabla… Praised Baidu some)
  • What do you do at Didi? What was used (data visualization, and your Echarts (/ω \))
  • What do you know about echarts that can be improved? Have you read the source code?
  • React features, principles, and ideas
  • How do you use the Redux architecture stack
  • You’ve used Redux-Saga. What’s better about it than Thunk or Promise?
  • What new ES6 features and promise principles have you used
  • Several approaches across domains
  • Did you encounter any difficult problems in this project and how did you solve them?
  • What do you want to ask me? (General department technical stack, working atmosphere)
  • I don’t remember anything else…

Baidu (Campus Brand Department)

  • Introduce front-end experience
  • How do you manage your layout with CSS? I say grid, and then ask how grid is implemented
  • Css3 animation, Transition, Transform, Canvas, SVG
  • What’s the difference between sass and less?
  • What features of javascript, I said weakly typed, single threaded, event-driven, have the following
  • How do you understand event-driven mechanics?
  • Ever used event delegate? How does it work?
  • B: well… What new features have been used in ES6? I mentioned the arrow function, so I asked
  • What is the difference between arrow functions and ES5 anonymous functions? I mentioned this pointing to, and then I went ahead and asked
  • How does the arrow function automatically bind this?
  • B: well… How did you configure Webpack for your project? Have you ever used GULp? What’s the difference between Webpack and gulp?
  • React highlights features
  • How to create a remote branch with Git
  • What do you know about Linux commands?
  • How do I reverse a linked list?
  • Others can not remember….

conclusion

In general, due to the special period of the interview, the difficulty of the interview will be much lower than spring recruitment internship, school recruitment.

The interview will be about your resume, so it’s important to write your resume and prepare for it.

The interview mostly asks the foundation, and asks very fine, often around a point to dig deeply, will also ask some frequently used API, so the interview must prepare, review some fragmentary knowledge, the foundation is very important. Projects ask fewer questions, but they determine the quality of your resume.

There is a wide range of knowledge to master in the front end, but some of it is necessary to build the project. It is best to develop a relatively comprehensive base technology stack, which can be enough to form the basic ability of building general engineering projects, and then dig deeply.

As it stands, a deep understanding of a framework is necessary, but not necessarily much.

Front-end interview algorithms ask fewer questions (larger companies ask more), but don’t tell me you don’t know how to find, sort, de-iterate, traverse binary trees…

In the interview, I must keep a calm attitude, hold the mentality that I have got the BAT offer, talk slowly and calmly, and use eyes and body language to help my mouth speak. Take the time to show your thinking process and demonstrate your passion for the industry.

I wish you all can find the right internship, job.

internship

I left after more than a month of internship in Didi. The reason was that the school had too many classes and the guide did not let me go out. I also realized that I still put my study first…

During my internship, I participated in two projects, one is a Didi real-time computing platform and the other is Druid management platform.

Real-time computing platform, for didi internal engineers, is a rely on didi massive data to complete real-time computing, task scheduling, automatic alarm monitoring and so on, the project is very large, done for a year, the industry is rare…. What I did was visualise and internationalise some of the data I was responsible for;

The Druid management platform, still for internal engineers, is a visual database management platform, with me and another intern running the front end. What I do is the development of the core module of the first phase.

The biggest lesson is that

  • Have the ultimate pursuit of the product, do not tolerate mistakes, do not tolerate tedious operations, but also take into account all possible operations
  • Realized the importance of performance under massive data, began to pay attention to performance optimization
  • Type checking, null-checking, and try catching are all necessary to write robust programs that take into account what data can be generated in the background
  • Gradual enhancement, functional decoupling, component separation can reflect a person’s programming ability and level, the most taboo code stick together, write dead, pit is their own.
  • Debugging is important. Get in the habit of writing debugger
  • Always be ready for new technology, even if you’ve never heard of it, as soon as the project needs it (my group is very happy to use new technology as long as it works and the License is valid)
  • Interface documentation with separate front and back ends follows the specification and saves a lot of crap
  • Project management, agile development is a good way
  • The process of the development project in my group is usually as follows: the boss doesn’t know where to get a requirement (probably arranged by the superior, most of them are his own idea…). , and then all the members of the meeting said the needs, set the task, each member to write the schedule, the back-end set specific needs, interfaces, front-end with back-end start together, weekly report task progress…
  • For the front-end ER, it is unnecessary to change the demand. Our ultimate goal is to make this product better, right?
  • Interns rarely come into contact with TO C products, and most of the work is for internal staff, because bugs are easy to discuss.
  • In my department, there are a lot of female engineers. It’s No Offense…
  • Think of adding (/ω \)

This internship is indeed much more efficient than self-study, and the most important thing is to broaden my horizon, to understand what is the forefront of the industry, how big companies deploy front-end technology stack development projects, and my own shortcomings. I was also lucky enough to find a direction in which I was interested.