Push your resume

Interview is the way to push in, because push in the rate of acceptance of the resume is much higher than other ways; One of the ways I pushed in was to contact one of my college seniors at Bytedance.

Online interviews, there’s an online text editor, something like LeetCode, that you can program online. However, I am a little nervous about the video interview website and video conference tools. Please make sure that your network environment is good before the interview (my laptop ran out of power during the interview and I did not notice it). Maybe it is the psychological quality that affects my interview quality. Lead to a lot of simple questions did not answer, or usually accumulate more, the interview is not cowardly ah. Let me share some questions with you.

The interview questions

1. Common thread pool types and parameters and applicable scenarios

2. Flatmap principle of RXJava

3. Code: 7 threads print 1-70 in sequence (this is not a good answer, I said to sychronize an object and wait notify, the interviewer told me that locking is not efficient, after the end of the interview, I realized that it should want me to answer spin +cas)

4. Handler memory leakage, strong and weak virtual references, and Messagqueue principle

5. Why can a non-static inner class access an external class private variable

6. Leak Canary principle, how to implement non-invasive callback

7. Apk signature principle, v1V2V3 signature difference

8. Coding problem: Reverse linked lists

Always interview yourself

Lack of preparation, whether due to video tension or strength preparation, performance is not complete.

In the process of answering, too low self-esteem, resulting in a vicious circle.

If the individual initiative humble, also give the interviewer trouble.

My interview experience is about how to prepare for an Android interview.

In 2013, THE author switched from Java to Android development, and worked in small factories, huawei, OPPO and other large factories. In April, 2018, I joined Bytedance until now.

I’ve been interviewed, and I’ve interviewed a lot of people. I know that most junior and intermediate Android engineers want to improve their skills, often by their own exploration and growth, not systematic learning effect is inefficient and long, and it is easy to hit the ceiling technology stagnation!

I will answer some common questions in three parts: before, during and after the interview

Before the interview

How to find an interview?

  1. Internal push: first of all, recommend everyone to take the internal push way, the pass rate of internal push is much higher than other ways; The ways of internal promotion include: contact with colleagues, find the corresponding internal promotion posts on the forum (please contact me directly, see the content of “small advertisement” in the following article), attend the recruitment information meeting, etc
  2. Corresponding company recruitment website direct delivery: we need to make clear which companies they want to invest in, directly search the company’s official recruitment website (large companies generally have), find their own position delivery
  3. Posting on relevant recruitment websites: HR will also publish corresponding recruitment information on various recruitment websites, which can be posted accordingly

What should I do to prepare for the interview?

  1. A great resume: One that illustrates the university, degree, internship experience, and technical projects you worked on at school. Check out the technical Resume guide from ByteDance interviewers in the companion post.
  2. Understand the Job requirements: JD (Job Description), which will be described in detail on the recruitment website or in the recruitment information released by the company. If you cannot find it or the company does not write it, you can contact HR and send an email to explain.
  3. Review the relevant knowledge of the interview position: Students recruited by school need to review the basic knowledge of computer (network, operating system, computer composition principle, mathematics, etc.), coding ability (data structure, algorithm), and basic knowledge of technical direction (for example, the front-end students mainly read HTML/CSS/JS).
  4. Organize the projects you have done: internship projects, personal projects, research and academic projects, community open source projects, etc. You need to introduce yourself during the interview, and the interviewer may ask about the project content based on your resume.
  5. Appropriate to do some algorithm: front-end, testing and other positions may not pay special attention to the algorithm, but do some algorithm can train your thinking, code ability; Commonly used websites: LeetCoode, Niuke, OJ of major universities, etc

What do YOU need to confirm with HR when receiving an interview invitation?

If you receive an interview invitation from HR, congratulations, you have passed the first hurdle — resume screening; When receiving the interview notice, please make sure that your call signal is stable. If you have any difficulty, you can discuss with HR and contact later.

The interview invitation needs to be confirmed as follows:

  1. Interview time: If the employer does not have a special urgent request, it is recommended to at least one week after the interview, give yourself plenty of time to prepare
  2. Estimated total interview duration: This is the point that most students tend to miss, please confirm the estimated interview duration in advance, so as to arrange their own time planning. Students in school recruitment and internship may have classes and school affairs, so they cannot spend a full half day. HR should explain the situation in advance.
  3. Interview location: Medium and large Internet companies may have many offices, please confirm the specific location of the interview
  4. Interview requirements: What materials to prepare, whether to bring a computer, whether there is a dress code (technical aspects of this generally not required)
  5. Interview contacts: to confirm the interview contact, on the one hand, on the day of the interview is the contact person (usually the front desk), on the other hand, if there is an emergency, such as temporary occupy, can’t find the interviewer, etc.) in emergency contacts These general company information will be sent via email, please ensure that your email available && don’t be categorized in the junk mail

What should I do if I cannot attend the interview?

If something happens or you don’t feel fully prepared, you can contact HR to explain the situation and discuss postponing the interview. Do not silently do not come, will be recorded “no-show”. If you can’t come to the interview, you’d better explain to HR, and we’ll have a chance to talk later.

In the interview

How to introduce yourself?

Some students will prepare a gorgeous opening speech, introducing their experience in the student union and organizing activities in university. These contents are not too attractive for the technical interview, which is not conducive to the interviewer to find the appropriate questions corresponding to you. Sometimes it can be a negative (not feeling technically focused) for the interviewer. Advice is

  1. Students who have technical internship experience should introduce the projects they have done in the internship, explain their role in the project, which parts they are responsible for developing, which technology stack they use, and what they have learned.
  2. Students who have no internship experience can introduce what they have learned in the technical direction of the target position, what personal projects or some Demo projects they have done.
  3. Have ACM and other computer competition award experience to explain, plus.
  4. Have participated in open source project or community building, suggestion description, bonus.
  5. Outstanding academic students can also explain their published papers and participation in conferences, which is also a bonus. If the academic field is not related to the job content, it is recommended not to talk about it in detail. If the academic field matches the job or the interviewer is interested, the interviewer will take the initiative to continue the conversation.

Is it ok to have no internship experience?

The answer is yes. Technical internship experience is a good thing, but not everyone has internship experience, or it may not match the current position. So do not worry too much, generally can resume to participate in the interview of the students, are the initial recognition. Students who do not have internship experience can highlight their strengths in other aspects of the interview (e.g. personal projects, open source projects, competitions, academics, see the previous question), if the interviewer recognizes your knowledge, ability, potential will be accepted.

Students without relevant internship experience and knowledge are two different things. Students with internship experience and knowledge accumulation ability may not be as good as those with relevant knowledge through their own study. So please be sure to do a good job before the interview, so that they meet the requirements of the interview position, for example, the front-end post students, at least to learn HTML/CSS/JS related basic knowledge, to the current common front-end stack have a certain understanding, and have hands-on experience.

Need to know the business?

For school recruitment/internship, it is not required to understand the business, generally speaking, it is difficult for students to have a deep understanding of the business, relevant experience is of course a plus.

Overall interview process

Generally speaking, a complete interview includes: written test, technical interview, job match and HR interview. Written test: it may be online or on-the-spot. The written test will cover a wide range of topics, including basic computer knowledge, knowledge and skills of interview direction, coding, data structure & algorithm, etc. Technical interview: Taking Bytedance as an example, the school recruitment usually involves two or three rounds of cross-technical interview, and the internship usually involves one or two rounds, which is to investigate the computer foundation, coding ability, basic knowledge of technical direction and technical depth, system design ability, abstraction ability and engineering ability, soft quality, etc. On the one hand, it is more inclined to basic knowledge and technical breadth, and on the other hand, it is more inclined to technical depth and advanced ability. Job match: Generally, after passing the technical interview, the head of the business department will interview, preferring soft quality, professional ability, personal development and planning, etc. HR interview: It is usually the last round of interview, mainly talking about career planning, personal appeal, some questions in the interview process, information related to entry (such as available time, internship time, work place, etc.)

How to deal with the problems you encounter?

Let’s be clear — everyone has problems. Even students who have worked in social recruitment for many years will have a knowledge blind spot, and some questions that do not affect your overall interview evaluation. So don’t pretend to know what you don’t know. This will only leave a negative impression. Really not the question please directly and the interviewer, you can let the interviewer give some hints, or consult the interviewer to see whether the site access to relevant information (must be in the interview permission query, otherwise easy to be counted as cheating). If after the prompt or query information, solve the original problem, is also a bonus — it shows that learning ability, strain ability, ability to work under pressure is good.

In person vs. video interview

The most common forms of interview are in-person interview, video interview, and sometimes telephone interview. On-site interview is to communicate directly with the interviewer face to face, the communication barrier is relatively small, it is convenient to write and draw on paper, technical interview will usually have white board/handwritten code questions. Some students are shy and nervous, and the on-site interview will not play well. It is suggested that you can participate in some mock interviews to practice and keep a normal mind during the interview. Video interview has also become a major form of interview during the COVID-19 pandemic. Some video interview websites and video conferencing tools are commonly used. Before the interview, please make sure that you have a good Internet environment and relevant software and tools are fully installed. Video interview is more friendly for questions about writing code, but not for questions about drawing logic diagrams on paper. It is recommended to prepare paper and pen, and take photos or video cameras after drawing.

Cheating in the interview

Seriously, don’t cheat in the interview!! Cheating in the interview is generally in the video interview, written test, on-site interview we face to face communication to cheat is more difficult. Common cheats include looking up answers during the interview, asking a big bull to type on behalf of him, and obtaining answers to written questions in advance. In fact, cheating is easy to be found by the interviewer, the interviewer suspected cheating, usually out of some cheating questions (phishing questions), confirm that it will be recorded; Even if one interview is misconducted, a sharp contrast is noted in subsequent interviews. Most companies keep interview records, and once you’re caught and recorded, it can damage your resume and your entire career.

What questions can you ask the interviewer?

At the end of a round of interviews, the interviewer might say, “Do you have any questions?” The interviewer wants to know about your career aspirations, personal plans, learning ability, etc., so choose your questions carefully. Technology of the interview process is not recommended to ask some has nothing to do with the current interview, relating to the company secrets, personal privacy issues, such as: how many/overtime pay (this link can be asked in the HR interview), company’s current earnings, business line specific use of core technology, the interviewer contact, etc Can ask some issues with the direction of their related technology, such as: What do you need to learn to prepare for the interview, the interviewer’s comments and suggestions on your round (if the interviewer is not convenient to say, do not ask), the solution to a puzzle in the interview process (time limit the interviewer may only give ideas), etc.

What if you feel unprepared for an interview?

If you cannot answer most of the questions during the interview, or you are not in a good state and not ready, you can explain with the interviewer, discuss whether to continue the interview, if you stop the interview can give another chance. Of course, don’t give up at the first sign of difficulty, which will leave a negative impression on the interviewer. The advice is to at least stick with the interview for one round and discuss it with the interviewer at the end of the round. You may find that the interviewer feels good about you. As mentioned before, you are not required to answer all the questions, as long as you meet the overall expectations of the job.

After the interview

How to deal with a long time without a response?

After the interview, please check your email and keep your phone open. If you do not get a response for a long time (3-5 days), it is recommended to contact HR. College students are usually afraid of communicating with HR, worrying that the result of their “Schrodinger’s cat” status will become negative after contacting HR. This psychology must be overcome, and timely confirmation of the interview result is conducive to the arrangement of subsequent interview /offer selection. If you really get a bad result, you can also try to ask the HR questions in the interview evaluation, may not get a reply, but if the HR can tell you, it will also help you find and solve your shortcomings in time, for the next interview foundation.

Can I resubmit if I fail the interview?

Some companies have interviews do not lock resume mechanism (a period of time delivery is invalid), this can also ask HR. Our company (Bytedance) does not lock the resume, a certain job interview is not passed can continue to send. However, it is recommended that you prepare carefully for every delivery. Every delivery and interview may be recorded. If multiple interviews and delivery do not reflect growth, it will still affect the subsequent resume screening and interview.

Can I ask the interviewer to add wechat?

The answer is — no. In order to create a more level playing field, companies generally discourage or even forbid interviewers from making personal contact with candidates.

Can I share interview questions after the interview?

Can you record the relevant topic, experience, to prepare for their future interview data, but not advice immediately share (including sharing on the network and Shared with other students), written examination and interview some company will always signed agreement, if it is found that sharing the latest interview, written examination subject, may directly cancel the employment qualification.

Post promotion, learning and communication

We need a lot of front-end jobs, Java jobs, Android and iOS development jobs, location: Beijing Bytedance, if you want to upgrade your tech stack. To provide you with a better growth environment ** click on me **

If you feel that you are not learning efficiently and lack proper guidance, fineJoin the technical community with rich resources and a strong learning atmosphere to learn and communicate!