When I was still in school, I often felt nervous when I participated in the interview. I would recite the frequently asked questions beforehand, and I repeatedly thought about how to introduce myself, but I couldn’t figure out what answers I wanted to hear about some questions.
Now I have been an interviewer for more than 3 years. I first entered the workplace at the beginning of 2018, and then I came to Tencent. After that, I have almost never been prepared for interviews. I played on the spot, but I almost never failed. passed (perhaps almost removed).
Now I go through interviews again, but all of them are sitting from the interviewer’s perspective. The interviewers in front of them or on the other end of the phone repeatedly ask questions, but the interviewers I often encounter are rarely able to perform well. Occasionally, there are some that I think have good potential, and I have given opportunities again and again, but still fail to get to the point.
Writing this article, I also hope that when you go to an interview or prepare for an interview, you will know what the other party is asking, what you want to hear, and what you should say.
I will invite you to do a self-introduction, often for the following points
- Soothe the cold start
- If you haven’t read your resume carefully, let the interviewer introduce yourself and make it easier for you to read your resume
- I don’t see enough highlights on my resume, I hope the self-introduction can show more things
So in fact, here, what is needed is to be able to adequately describe yourself, your recent job experience, and the nature of your work. As an opening, the subsequent question link will also be cut from here.
When asking questions, there are usually a few
- Computer Basics
- Job technical basis
- Various job content-related questions mentioned in the resume
- Some advanced problems, such as optimization and refactoring, for more advanced positions, will rise to methodology, architecture
- own way of learning
Computer Basics for interview coding questions
In fact, it is nothing more than “operating system”, “algorithm”, “data structure”, or “computer network” such as CS major university courses, specific questions are like:
- TCP/UDP difference
- HTTP2 / HTTP difference
- Knowledge of new protocols such as QUIC
- Implementation of some basic data structures such as HashMap, LinkedList implementation
- Implementation of common algorithms such as quicksort, max heap, etc.
The test is the individual’s literacy on the computer. In fact, if you have your own thinking in daily work and have a certain depth in business, you will actually be involved.
For technical problems, the usual way of asking questions is to gradually deepen, such as multi-threading problems, then I will start with thread scheduling, talk about the memory area of threads, common thread memory flashback scenarios, thread management methods in applications, common Thread pool type, advanced to practice, will ask when to use multi-threading in optimization, when not to use multi-threading, and the actual performance degradation due to the use of multi-threading, or the deadlock caused by multi-threading example.
Job technical basis for interview coding questions
That is the basis of the technology actually used for the job interview. For example, when interviewing for an Android client position, you might ask:
- How to save data on Android
» How many ways are there?
» SP implementation principle and performance issues.
» If you want to implement data operations across applications, how to implement
» What if you need to read and write across processes?
- What types of broadcasts are there?
» Implementation principle of local broadcast
» The implementation of the broadcast of the EventBus class
- Describe Looper, Handler, HandlerThread
- What is ANR and how to avoid it?
- How do memory leaks usually happen? Talk about memory leaks you have encountered and how to solve them.
- Several means of Android performance tuning?
- Which is the class ClassLoader under the Android application? When is it initialized?
- Knowledge of open source projects, source code, and principles? Especially the open-source libraries that I have used in my practice, such as how does LeakCanary detect memory leaks?
- Under what circumstances does an app need to use multiple processes in Android? What should I pay attention to when developing in multi-process mode? How do achieve isolation between processes?
For example, a front-end position might ask:
- CSS pop-up centering scheme
- For the understanding of the viewport, the several methods implemented by 1px, and the understanding of the width generation mechanism of the mobile browser H5 page (it would be better if there are some pits that actually step on it)
- Difference between the arrow function and the anonymous function
- The difference between currentTarget and target
- How to optimize the performance of page scrolling, do you know what improvements Chrome has made to page scrolling behavior?
- How JS implements modules
- Each of these questions will also be discussed gradually and in-depth. If you feel that you have answered all the questions, but you have not passed the interview, you might as well think about whether you have really answered the point? Often some wrong answers will make the other party lose interest in further discussion.
The job content on your resume is arguably the most important part, as it can quickly help the interviewer understand your past experience and match with the position, as well as ask targeted questions.
Here you might as well take a look at your resume, whether the job content can clearly describe your work highlights or breakthrough business contributions, rather than just some descriptions of abilities. In addition, if you write something, you must make sure that you understand it clearly, and don’t be asked if you ask, or just know some fur, after all, the interviewer is patient, and will only choose some content to ask, every point Make sure you’ve actually done it and have a deep understanding of the inner workings.
If the previous link makes the interviewer feel that although there are some deviations in your ability and job expectations, you still have a little potential, then you may be asked about your learning methods outside of your daily work to examine your initiative. So if you usually have free time outside of work, don’t let it go and think about what you have room for improvement, whether in-depth or breadth, in addition to the content handed over to you at work.
What’s your problem
Faced with this problem, on the one hand, it is to give the interviewer an opportunity to ask questions about the interview position. On the other hand, it is more important to show their interest in the position, which may check whether they have a sufficient understanding of the company’s business. and how interested you are in the position. And if you directly answer that there is no problem, it directly reflects whether you don’t know what position you are interviewing for and whether you want to join the job.
For this section, you can actually understand the job content carefully before the interview. Naturally, you will have your own questions about the position. In addition, you can also imagine if you can get an offer, what do you need to consider about whether you will join the job? , may wish to raise it here as well.