The authors introduce

Zhongnuo, a dedicated intern of Dingding front-end team, was responsible for the development and maintenance of PC and mobile terminals of the proprietary dingding module during the internship.

preface

This article mainly brings you the real experience from the interview to the entry to the end of the internship, and also provides you with some interview skills, hoping to be helpful to the students who are looking for a job or hesitating. If you want to know more about our team or interview information, you can ask Ziyi.

According to the front

As a non-technical front end trainee, I majored in communication in both undergraduate and master courses (the courses are more focused on hardware). But coincidentally, several scientific research projects I have done require the support of front end technology to show results, which also makes me realize the importance of front end. In my understanding, compared with other areas, the front is the most face to face with the heart, the most can affect customer experience (perhaps this is why we also call experience technology department), the developer, I think the front can is also the most intuitive feel the charm of code (Bug), I still remember the society according to the F12 wonderful experience of the Console.

With the love of front-end, I learned various frameworks from HTML/CSS/JS to HTML/CSS/JS. In scientific research projects, I also won the recognition of my mentor and senior students with simple and elegant data visualization, which strengthened my determination to step on the road of front-end.

Interview preparation

As a practice time is less than two and a half years of non – class front end trainees, but also all the way over. Of research when the first summer vacation to prepare for the first period of internship, the interview was turned down several times, began to suspect that he is not fit into this line, but I also realized in the data structure, operating system, and the lack of basic knowledge of computer networks and other aspects, then catch up with pain, decided to spend a summer vacation, in September to a foreign company Offer finally.

Nonsense not to say, immediately came to the protagonist of this article: proprietary nails. This year ali’s summer internship recruitment started in early March, and I didn’t start to do resume checking until the end of the winter vacation. Here put a ziyi brother’s proprietary nail front end interview guide to help students easily cope with various interviews, of course, the actual interview will not ask so wide, most of them are thrown out a point, by the interviewer to play freely oh.

The interview process

On a direct-hiring software, although I have more than ten people asking for my resume every day, none of them invited me for an interview as quickly as Brother Yuanyi and passed the second interview in just a few days. The whole process was very quick, except that HR got stuck for a while (but not completely).

Here are some real interview questions

The interview questions

  1. What are the features of Vue and how are they implemented?
  2. How does JavaScript implement multithreading?
  3. What are the ways in which JavaScript handles asynchrony?
  4. Big file upload solution?
  5. Introduce the methods of XSS attack and defense?
  6. What’s the difference between a process and a thread?
  7. TypeScript’s advantages over JavaScript?
  8. What configuration items do you often use in Webpack?

Pen test

  1. Use recursive and non-recursive methods to convert tree-structured data into flat data
  2. Find the maximum nesting depth of the tree structure data
// For example
const data = [
    {
        "name": "1"."children": [{"name": "1.1"
            },
            {
                "name": "1.2"."children": [{"name": "1.2.1"."children": [{"name": "1.2.1.1"."children": [{"name": "1.2.1.1.1"."children": []}]}, {"name": "1.2.1.2"."children": [{"name": "1.2.1.2.1"}]}]}, {"name": "1.3"."children": null}}]]Copy the code
  1. Given any string, and any keyword, returns an identifiable data structure

    Function: transformText( text : string , queryString : string[] )

    Input: (‘ this is the query condition ‘, [‘ query ‘, ‘this ‘])

    Output: [[true, ‘the’], [false, ‘is’], [true,’ query ‘], [false, ‘conditions’]]

The career experience

schedule

Because of the tight schedule of the tutor’s project, although I got the offer in April, I had to wait until the relatively empty period of early June to sneak out for internship, and I had to take one day off every week to have a group meeting. It’s really stressful when both sides come to work. Fortunately, it’s easy to ask for leave.

Still quite envy those full-time students to practice, salary to hand more 💰 will not be disjointed in the business.

There are also some students who quit their jobs and returned to the laboratory in the middle of their internship. After all, they still need to focus on their studies before graduation. There are also two days a week to complete the defense of the students, working hours or quite free.

The company benefits

For a frugal young man like me (who likes to collect his wool), the benefits of the company will not be wasted. Here are some of the benefits I actually collected (there may be differences in each department, but there are many hidden benefits to explore)

  1. Free medical examination on entry. [Physical examination items are quite complete, as well as color ultrasound]

  2. 20 yuan lunch allowance (paid with salary), 20 yuan dinner allowance and 10 yuan night snack allowance (issued directly on work card) per day. Since the internship, my dormitory has been filled with white whoring milk

  1. Free taxi after 21 o ‘clock every day. Take a midnight snack and then take a taxi, life is really very happy.

  2. Meals are free in the canteen on weekends. 【 Live near that or to rub a rub 】

  3. Company free cloud printing. If you print your graduation thesis here, you can save a lot of money.

  4. Team outing, dinner, afternoon tea, etc. [Accidentally missed the outing, blood loss]

  5. I get free ice cream. 【 cute more, qiao Happy yyds】

  6. Mid-Autumn Moon cake gift box. [Bring home the noodles]

Newcomers to adapt to

In the first few days, IT was really difficult for me to get used to it. Firstly, the team used Mac for development, but I had never touched it before, so I was confused in front of the screen with a 16-inch MacBook Pro. Fortunately, the team had a very detailed newcomer document, and it was easy to set up the environment according to the above. Some very useful gadgets are also recommended. After getting familiar with MAC development, ah! Really sweet ~, when I have money to buy…

Two days later, my brother helped me get a large screen monitor, which directly filled up my development experience.

The technical stack of the team is TypeScript + React. Although I haven’t written a project with React before, I have a very good experience in taking over the project of my brother. It is much easier to understand the standard code, unlike what I wrote as an intern before, so I guess I can’t understand it now.

Of course, just start without some more simple and honest questions, no matter how busy the elder brother, are very patient to answer, some technical problems can be explored first, the business of the problem had better ask more.

Internship harvest

The business side

Proprietary nail products are iterated almost once a month. During my internship for nearly three months, I had the honor to do two iterations together with my senior brother as the module project leader.

In the first iteration, I was in a hurry. I just missed requirement review and TC review due to my leave, which resulted in the omission of a small part of requirements. In addition, the mobile terminal was reconstructed, and the initial run-in with the terminal was not tacit enough, which led to the delay of testing. At the worst point, 7 bugs were encountered in a single day. At that time very panic, think of oneself just come to make trouble is not immediately to pack up the pack to leave, but fortunately, there is a brother to help me solve the Bug, finally catch before the delivery of smooth solution.

The second iteration is much more handy, no matter the quality of the code written by myself, and the coordination of the end, or the understanding of the business have been comprehensively improved, the start of the demand to be able to handle with ease, the normal test Bug is also much less.

Technical aspects

To tell the truth, in the short internship time, it is very difficult to make contributions to the technology. I am really weak in the technology, and the code of my brothers is relatively perfect.

The proposition my brother gave me is about performance optimization, mainly about code segmentation and subcontract technology. Although React and Webpack support these two capabilities, I still need to go through some exploration to play well in the project. SplitChunks, for example, are implemented async by default, so chunks are automatically generated using dynamically imported code, and more fine-grained subcontracting is configured by cacheGroups.

In team

To go for a walk after dinner every day is our team’s chat of time, a feeling of it at first, when you are not older, but already in different stages of life, the seniors to discuss a car to buy a house get married these topics, think of will soon become a I want to experience, is listening to senior words, wins and write code in a decade.

During this period, I also formed a king’s front end team with my brothers, and played two rank practice teams every day. Finally, I easily won the second place in the exclusive king of Glory pinning competition, with a king doll in each hand.

In addition, the team’s exploration of technology is also very sharp. People can often share their opinions on technology, but of course they will also be challenged. In the repeated collision, we can enrich our knowledge and leave real good things.

conclusion

During the 80-day internship, I had both happiness and anxiety, harvest and pressure. I am very grateful to my senior brothers and supervisors, as well as the product design and development testers who gave me a lot of encouragement and help, taught me how to be independent in the business and taught me how to become better.

Finally, I also hope that I can successfully become a regular employee. I wish all the students who are still looking for jobs can get the offer they want. I wish all the students who have already worked can make progress in their career and live a happy life.