Half a month ago, I hit it off with Zhu Kai, my ultimate technical goal. I shared my experience of “mock interview” for more than an hour in HenCoder Plus, and also listened to Kai ge’s courses for several times. I felt really careful. I also hope that I can always stay true to my original aspiration and be as earnest and persevering as Kai Ge in the technical field. I prepared for a long time, mainly for this sharing.

I came down to see several times their own recording screen, feel it is necessary to do a text version of the share to everyone, but also a child shoes can get harvest, that is not in vain my hand played nearly 30 thousand words to share. Many of your thoughts were influenced by Even, another lecturer at last year’s Android Bus Chengdu Seminar, so your circle can really influence you in a subtle way.

Here is the text:

Let me introduce myself first, my name is Liu Shilin, on the Internet, my name is Nanchen or nanchen 2251.

Before applying for a job, we always go through the process of writing the resume, preparing the interview knowledge, and then the interview. But we always find that even when we prepare for it, we feel good about ourselves. But when it comes to interviews, it often feels like trying your best isn’t helping. In fact, our interview is the need for actual combat, we brush more questions, not actual combat is useless. However, we usually interview once, and counting the travel time, we should be at least several hours away. On top of that, most of that time is spent at work.

What’s more, we can spend hours noodling, only to discover, at the end of the meal, that all the valuable things we can get have to be dug up to form essence. It’s hard to get real feedback from an interviewer, and in most cases, the reason given for a rejection is very euphemistic.

In order to solve this awkward situation, I launched a program called “mock interview” on my wechat account last November. Use your spare time to help readers who really want interviews but don’t want to waste their work time.

Over the course of more than four months, I interviewed 118 readers, including some current employees from Xiaomi, Silicon Valley and Meituan. In the activities, I grew up with them and made progress together, from self-introduction, to the interview process, and then to the interview feedback. Readers get valuable feedback from me, and I get very valuable data feedback from readers.

I just held an attitude of trying, hoping to conduct it in a small scale, but unexpectedly there were a lot of readers in this situation, and the queuing mechanism I adopted had completely failed to allow readers to get timely feedback. In addition to my own time allocation problem, I soon stopped this activity.

Although it did not take a long time, but it is very meaningful, so today, KAI Ge and I hit it off, came here to share with you. I’m not a face bully, I’m not a big shot, I’m just kai’s fan brother.

On Wednesday, I listened to the class with everyone, and I found that there were many students who I knew, as well as those who had conducted mock interviews here. I have to say, there are many people who do Android, but those who are progressive in the circle are still these people.

Below, I give you a simple share of my experience after doing this activity. Before sharing, I would like to give you a word: whether you can pass the interview is not always dependent on skills, but whether you can get a high salary is definitely dependent on skills. In our job interview, the deciding factor is not only technology, your resume, interview performance, all will affect your rating.

After several months of “mock interviews”, I found that everyone’s questions were varied, and the four questions were summarized as follows:

  • Don’t know how to write a resume
  • Don’t know how to introduce yourself
  • Not knowing where you stand (advantage)
  • Not sure how to prepare for an interview

Let me start with my resume. Although I’ve only spoken to 118 readers, I’ve received a lot more than that, and I’ve never called back a resume that’s clearly trying to waste someone else’s time. But very few of the people I interview have written enough resumes to make me happy. Most people’s resumes are messy, not even basic typography.

The Essence of a resume

I often get the same question from readers, “Nanchen, can you give me a good resume template?”

This question makes me very embarrassed. If I say “there is no good or bad template, it mainly depends on temperament”. You might be disappointed that I might be wasting your time. If I say yes and pick one that I think is a good one for you, you might be disappointed and wonder, does a good resume template look like this?

This is just like what Kai Ge said at the Developer conference in Shanghai, “Upload pictures as you do, and upload them as you are requested by the server.”

We’re not kidding. It’s easy to get a “good” resume template, and you don’t have to ask for one. All you have to do is ask yourself what “good” is and quantify that elusive word, and your resume is a good resume.

Before you quantify the word “good,” though, we need to address the question: “What is the essence of a resume?”

Everyone may not have the same understanding, but that’s not important. If you think differently than I do, that doesn’t mean either one of you or me is wrong. For now, let’s assume that flashy or minimalist templates are not the essence of a resume.

The essence of a resume is one thing: it tells people who you are and what you’re good at.

You may find that both questions are really the same question: Where do you fit in?

  • Question 1: “Who are you?”

    Maybe you think you have it all figured out. You’re Sam, you’re Sam. But if you were asked to use three words — a verb, an adjective, a verb or an idiom — to sum up “who you are” in just three words, could you? That’s how you define yourself.

  • Question 2: “What are you good at?”

    If I could say “being good at nothing is the best thing to be good at”, everyone would probably applaud. Just like asking many people what their interests are, many say they don’t have any. However, is there really nothing you’re good at? Maybe you just don’t see it. This is how you define your abilities.

How to better position yourself

If you really identify the problem, it’s not that difficult to solve it. However, it is difficult to be precise in their positioning, as Su Shi’s famous sentence: “Do not know the true face of Lushan mountain, only the body in the mountain”.

That is positioning, so, we use an example in life to illustrate it. How is the GPS location on your phone “accurate”?

Not on its own, it needs at least four satellites in the sky to pinpoint its position in space. It’s a simple idea:

If you want to define yourself, you need someone else to be the reference.

So if you are a recent graduate, you need to compare your resume to your reference (basically people who graduated in your class). If you’ve been working for years, you’ll also need to compare yourself to someone who’s been there for a few years, or a recent graduate.

In fact, you can also understand from another perspective, to position yourself, you can also refer to the eyes of others how you are, others are often more able to find your strengths and weaknesses, and generally more accurate than your own assessment.

In addition, you can use things as a reference. For example, in order to show that you are good at Android live video technology, many people like to put a “self-evaluation” on the resume, and then write “I am good at Android live video technology”. What do you think is the effect? Like a guy who says he’s funny, but no one ever laughs when they talk to him?

A better way to express a person’s humor is to tell a joke directly. What about a way to express that a person is good at a certain skill? I’ll leave the jokes to you.

Resume pros and cons

After I shared with them after the interview, I realized that they didn’t mean that they didn’t pay attention, but they didn’t know exactly what to put on the resume, or what order to write it. Most of them wrote it directly using the templates of recruitment websites like Dragnet and BOSS Direct. As a result, we end up with a lot of stuff on our resume that has no value and no one else cares about. So again, don’t use a template from a job site for your resume.

What are some good resume plus points?

  • The golden two-page rule: Keep your CV to two A4 pages;
  • PDF principles: It is best to keep the resume in PDF, which can solve the problem of confusing format or garbled characters on different systems;
  • Write personal information clearly at the top: name, phone number, age, college/major, Blog and GitHub can also be directly at the top. It is best to write two lines of information, not one line of information, resulting in the right half of all blank waste.

Don’t know how to write project experience

Another common question on a resume is, “What third-party libraries did I use and what functionality did I implement?” “What technology I used, what I did in the project.” Even a project can be completely introduced in three sentences. For this point, I also consulted our HR specifically about how they would deal with this kind of technical resume. The answer I got was, “Unless it’s a really good company or project, I’ll Pass it.”

So how do you write about your project experience? On the Internet, there is a popular law called Situation Task Action Result (STAR).

  • S (Situation) : This can be the background to get you involved in the project or to solve the problem;
  • T (Task) : Just write your responsibilities clearly on your resume;
  • A (strategy) : How to achieve, whether there are difficulties, how to solve.
  • R (results) : The results achieved, as a programmer, must speak in numbers.

As mentioned above, most people are really rough when it comes to writing project experiences, basically using what technologies and what libraries. Some people even write “proficient” when they have just used it, which is actually very bad, even if they get the interview qualification, it is easy to crash in the interview. Because most interviewers have a two-step interview strategy:

  • Ask questions about the points mentioned in your resume to see how well you know the technology mentioned in your resume;
  • Ask for your thoughts on issues the company has addressed or hasn’t addressed yet.

So, make sure that the content on your resume is something you can answer, just something you’ve used, and don’t put it at the top.

Do you write about yourself or not?

Another controversial issue is whether to write a self-evaluation at all. Perhaps influenced by the template resumes on job websites, I’ve found that 80% of candidates include this section. There’s nothing wrong with that, but most people just put it in the second place, and I’m curious why. On top of that, if you look deeper, it turns out to be a mess that the interviewer doesn’t care about.

Here’s a bad example:

  • Friendly, honest and modest, diligent, can bear hardships and stand hard work, patient;
  • Team player, able to get along well with colleagues, open-minded to accept others’ suggestions;
  • Strong sense of responsibility, good at communication, good team work spirit;
  • Solid professional, with strong research spirit and learning ability;
  • I am optimistic and outgoing. I like playing basketball and badminton.

When I see this self-evaluation, I feel more grandiose, maybe the interviewer is really such a good person, but, where to prove? So don’t put a lot of crap in your resume. Your resume is a stepping stone to your job search. Don’t put anything worthless on it.

The correct focus should be:

  • Positioning: Android, independent of others, want full stack;
  • Attitude: efficient completion => pursuit of perfection => mutual improvement;
  • Difficulties: Google && Stack Over Flow, read the source documentation;
  • Vision: a lot? The nuggets? Jane books? CSDN?
  • Strengths and weaknesses: love technology, communication mentality. Non-class disadvantage (algorithm)

The above is not a template, just a few points of emphasis. A good self-evaluation should be clear about their orientation and direction, as well as some of their daily life and habits. Those of us who don’t have a degree in science are often labeled as algorithms that aren’t good enough, but there are other ways we can show our strengths.

Resume summary

In a word, a resume is a stepping stone to getting a job.

  • It does not need to be beautiful, but clean and standard, use PDF, control in about two pages;
  • It doesn’t ask you to master everything, but it asks you to know what it says.
  • Write only valuable content, don’t write nonsense.
  • For different companies, try not to write only one resume.
  • If you don’t have one, take action now to create one or two so that you don’t have to repeat that frustration a year or two from now.

The interview

With that out of the way, let’s talk about the interview. Countless interviews have made me deeply understand a truth: ** as programmers, our ability is built on the basis of technology, technology is not up to the standard, other ability will be very elusive. ** But whether we pass the interview depends on our good presentation and communication skills in addition to our technical ability.

I conducted 118 mock interviews and came to an embarrassing conclusion: No one introduced themselves.

Basically summarize down everyone’s self-introduction is like this:

  • Simply introduce their own basic personal information, already at a loss;
  • Stop after two or three sentences;
  • Recite the contents of your resume;

The key point is that MY “simulated interview” is only through wechat voice, without the atmosphere of oppression, I can not imagine how they will play in the on-site interview. At one point, I thought they had poor presentation skills, or stage fright, so I kept adjusting the atmosphere. But when it came to technology, I realized that their problem wasn’t presentation.

How to Introduce yourself

I have to introduce myself. In any interview, there will be a self-introduction, which is the first impression you give the interviewer. It is really very important. A good self-introduction can improve the atmosphere of the interview, so that they will play better and the interviewer will feel more comfortable in the interview.

What should we say to introduce ourselves? I suggest you talk about your highlights, the best of these things on the resume of the highlights in detail, in about a minute, repeat: do not back resume!!

Let me give you an example. Notice, this is a non-technical introduction.

Hello, my name is Liu Shilin. It is a great honor for me to attend the interview of your company. Now I would like to briefly introduce my personal information: I have been working in XX company since my internship, engaged in Android development. With my good working ability and communication skills, I won the title of “Excellent Employee” for two consecutive years. At the beginning of this year, I was hired as the assistant of technical director to assist the technical director in carrying out department management and project promotion. Outside work, I like to write technical blog and contribute open source code on GitHub. At present, I have about 7K Star on GitHub and several technical blogs have been read by hundreds of thousands. I love mobile development very much and have long heard about your team’s emphasis on technology, so I hope I can have a good performance in the interview today and have the honor to work with you in the future.

It is a very simple self-introduction, which is rarely mentioned in the resume. Among them, I grasped the main points and emphasized my working ability and communication skills. The title of “Excellent Employee” and the position of technical director assistant have all demonstrated their excellent performance in work. My performance in technical blog and GitHub shows that I have strong soft power and love learning. Through digital display, I have made the interviewers have a good intuitive feeling.

You can write it down in your notebook before the interview, and then introduce yourself to the wall for several times, so that when you introduce yourself in the interview, you will often be able to come in handy.

Technical interview

After introducing yourself, the technical interview usually begins, and basically your skill level will be determined during the technical interview. How can an interviewer judge your skill level in a short time?

Here is an answer from Kai Ge on Zhihu, which I think is very interesting.

And from there, I think you’ve come to a conclusion. Often the interviewer will begin the interview by making a general judgment about your resume. Because everyone’s experience is different and their expertise is different, they don’t focus on what they’re good at. Instead, they dig into what you’ve mentioned in your resume.

For example, if you say you are good at RecyclerView, do you know how to do nested scrolling in RecyclerView? Do you know how to deal with the focus issues of nesting ViewPager and RecyclerView? Suppose the RecyclerView Settings are ok, but the data is not displayed, can you guess why? Suppose you can only use a RecyclerView, without dividing Type, so that you can achieve a complex layout, can you think of some methods or ideas?

We often brush a lot of interview questions before the interview and prepare for a long time, but when we actually arrive at the interview, we are always abused by the interviewer. This shows a problem, we usually prepare things, usually if there is no in-depth understanding, it is difficult to play in the interview, so it also needs a process of precipitation. So it’s worth joining HenCoder Plus to figure out the details with Kai.

Some cases point to a conclusion: details => technology.

But I would say detail + depth => technique.

As we mentioned earlier, we can use the STAR principle to write our resumes. In fact, when writing your resume, you can already think about the questions you might be asked in an interview. What is presented on the resume is a condensed version that follows the STAR rules, but in the interview, we should give a detailed version. But I think in an interview it should be START, I put a T at the end, what is the T? Thinking.

A programmer who can’t summarize is not a good programmer. As you know, I write a lot of blogs in my spare time, which is actually a summary process. I think this way, LET me grow very quickly. In fact, we can show our summarizing ability in the interview, so that the interviewer can see their highlights.

Let’s look at how we can use the START rule in an interview.

  • S (Situation) : On the resume, we present the background of the project, but in the interview, we should also explain the details of the project in more detail.
  • T (Task) : On the resume, we mainly describe our responsibilities for the project. In the interview, apart from explaining our responsibilities, we suggest that you bring the overall Task of the team and show that you care about the team at all times.
  • A (Action) : In the resume, we show the strategies and specific methods to deal with problems. In the interview, in addition to detailed explanations, we should also clarify the division of labor between ourselves and team members. We must remember that the value of the team cannot be denied.
  • R (Result) : indicates the Result, which can be basically the same in the interview and resume.
  • T (Thinking) : I added this word myself. In my opinion, a good introduction should also sum up what was done well and what was not done well, how to avoid this problem, and what scenarios can be used again.

Technical interviews in addition to the resume

Interviewers will usually ask for more than just the above. For example, intermediate and junior engineers will often ask about Java and Android fundamentals, such as the internal structure of HashMap, Hash collision handling, JVM class loading, garbage collection algorithm, startup mode, Handler principle, etc. Android’s event distribution mechanism, Activity lifecycle, etc. These questions seem to be so common online that many people choose to recite the answers directly.

I strongly disagree with the practice of reciting answers, human memory is limited, your brain can only hold so much, and blogs on the Internet are basically the same source, many blogs do not go into details. Interviewers are getting smarter and know how to tell if a candidate is real or fake.

OnCreate () => onStart() => onResume() => onPause() => onStop() => onDestory(). But in fact, the back of this process, not necessarily flexible application. For example, when the interviewer asks which life cycles the lock screen will invoke in turn, the interviewer may not know. Some blogs may be more careful and present a table showing possible problems, such as onPause() => onStop(), onStart(), onStop(), and onStop(). So the natural lifecycle for calling a Dialog is onPause() instead of onStop(). Some blogs even teach you to recite directly. The complete lifetime is onCreate() all the way to onDestroy(), so the lifetime is onStart() to onStop(), and the foreground lifetime is onPause() to onPause().

It may be a common question to ask, but in reality, the interviewer has stopped asking it directly. The basic approach is to give you A scenario and see if you can handle it correctly, for example, does Activity A really call onStop() after Activity A starts Activity B? After all, we usually do requirements, but also use their own knowledge to organize and solve the needs.

How to Prepare for an interview

Having said all these interview tips, there is a very important process: preparing for the interview. Most people will choose to read various interviews and brush up on various interview questions. It does help, but I think it’s inefficient. First of all, most sutras don’t have an in-depth answer. Second, most of the questions brushed do not match the interview of the company. At present, only brush algorithm in dealing with the algorithm of the interview when the success rate is higher, basic application of the interview, the role is minimal.

Which brings us to another topic: how to prepare for an interview?

After many experiments, I found that 80% of the knowledge that technical interviewers ask will come from your resume, so you should at least prepare yourself in advance, but also carefully for each technical point on the resume, think about the possible interview questions, and think about how to deal with it.

Except for some very basic mechanical questions, such as the Activity lifecycle, the Handler mechanism, and so on, it is permissible to get the interviewer wrong. Interviewers don’t expect you to be able to answer every single point flawfully, and sometimes a candidate’s suitability for a development position at an interviewer’s company will be judged by the “ability to go beyond coding” that comes through in the answers. So don’t try to memorize the interview questions and knowledge points. It’s inefficient and you won’t be able to use the knowledge in the future.

In addition, the interview content should not be the same for different job positions. Compared with small and medium-sized enterprises, large enterprises will ask a wider range of knowledge, such as a lot of basic knowledge such as algorithms and computer networks, while ordinary small and medium-sized enterprises do not value this, they are more expected to be able to get started quickly. In other words, they are not looking for a skilled person, they are looking for the right person. For junior and intermediate engineers, interviewers will pay more attention to the basic knowledge, and for senior and even senior engineers, they will have higher requirements on multi-threaded programming, custom View, architecture ability, and product View.

The 80/20 rule works in a lot of places, and I think it works in Android development as well. As an Android developer, you may only use 20 percent of what you know about Android development, and the other 80 percent you may not be able to use.

Interviewers, too, may only know 20% of what you know, and there won’t be enough time in an interview to show you everything you know. Instead, they will focus on the 20% most common in development. But generally speaking, the 20% of knowledge points that are more important are generally the ones that we need to pay attention to and get right. I wrote an interview topic on the official account before, and now there is also a navigation at the bottom of the official account. Although I didn’t make it to the end, I basically wrote the content that every Android developer needs to pay attention to and answer correctly.

As the saying goes, “a hero doesn’t ask where he came from.” The premise is obvious: you have to be a hero. If you are not known as a hero, you will be judged by your degree, company and project experience. The school you graduated from and the company you worked for, including how often you changed jobs, all play a part in your rating.

But the most important thing to judge is your project experience. So you should have a clear statement of the projects you worked on and your responsibilities and role in those projects.

For people who have a lot of experience with a single type of project, such as a single “information” application, you should show that you are capable of developing and handling all aspects of the project independently, and it is best to consciously avoid getting into this situation at ordinary times. For “a decade of experience in person, the interviewer is also hard to distinguish whether he can do in other ways as well, if you can’t at the company level to avoid falling into this situation, you should try the same project in different ways, or do some himself and the company is not related projects, such as open source libraries.

But the problem for many people is that they don’t have a lot of project experience, and some people have worked for many years, but they may have spent several years in the maintenance of a project, and the resume is often summed up in one sentence. But I think it’s not that we haven’t done anything valuable in these years, it’s that we haven’t recorded and summarized these things, and done a deep thinking and expansion. Think about it, there will always be, think about things and expand on the topic, you can sum up something more meaningful.

For an interviewer, it is often thought that the interview is all about answering the right questions, but from an interviewer’s point of view, the interview is really about one thing: “how to distinguish the candidates”. Simply put, this means separating you from the people the interviewer has met with (or is going to meet with) and labeling you with a simple “good,” “suitable,” “hesitant,” and “definitely not good.” A more complex one might list some of your abilities, such as being a good learner or a bad collaborator, and then put them together with other people. Each project has different characteristics, so the focus will be different each time.

So, sometimes when you get an interview with a company, you don’t need to be too proud. It may not be how good you are, but you just happen to be the best value for money at that time. Of course, if you are eliminated, don’t feel bad about yourself. It may just be that someone else interviewed at the same time with a better value proposition than you.

How to prepare for an interview with HR

HR will usually ask you some reasons for leaving and career planning, for reasons of leaving, I think we should be very clear, do not deny the value of the old employer, do not deny the value of the old employer, can be combined with the current interview company to give their own prospects. Meituan like before I interview, I replied, because Meituan is a attaches great importance to the Internet platform of mobile business, and before I company due to the changes of corporate strategy, business like now provide service transformation and weaken the mobile terminal, as a man who loved the mobile Internet, I eager to join Meituan such teams.

In addition to the reasons for leaving, we are most likely to encounter questions such as “Tell me about your strengths and weaknesses”, “What are your strengths and weaknesses”, “what are your most valuable contributions to the project?” and so on. This kind of question in my recent interview, in fact, the technical aspects will be mentioned. In fact, the reverse is quite simple and these questions come down to “what sets you apart from others”. The interviewer’s job is to differentiate you from everyone else, and you need to differentiate yourself by saying, “I don’t know, like it’s nothing, that’s a minus.

The hardest “brag” interview question I’ve ever had was:

Tell me about your advantages over other programmers and why we should hire you.

This is the most difficult interview question I have ever met. Philosopher Socrates once said, “The most difficult thing for a man is to know himself.” It’s true that we often have a tendency to think we’re better than other programmers, but it’s hard to tell exactly how. Everyone is different from others, before the interview must think of some positive positive points, and then summarize their own, best to tell your colleagues and friends around you, see if they agree with you. In the end, you’ll find that the best way to tell a story is to tell a case story. While it might be a simple point (like how you work under pressure), you can also tell a story (how you were under pressure to get the job done during an event).

How to prepare for an interview with a BOSS

During my mock interview, I vividly remember one of my readers coming up to me at 11pm one night in a panic, asking me to give him a mock interview because the next day he was going to have a final meeting with the CEO of the company he had been dreaming of. This young friend has already gone through three rounds of technical and HR interviews, and it is a company that he is very eager to join, so he is also in a panic. Fighting back sleep, I conducted a mock interview with him that, well, technically, was just an exchange.

I have a brief understanding of him. He has rich experience in audio and video development, and the company I am eager to join is also in the field of micro video. Therefore, I think he has nothing to worry about. After three rounds of technical interviews, it shows that his technical strength has been recognized by the company. At most, he just talked about “life and ideal” casually in the BOSS interview.

We must not underestimate this “casual chat”, this “chat” can be easy to see your thinking ability and views on things, and these aspects are difficult to change your characteristics in the short term.

He applies for the position of senior development engineer, not the role of management and technical director, the other side will not care too much about his management ability and leadership ability, so the following interview can be easily handled, but it is still a simple preparation, understand the company, attitude is not humble.

How to negotiate salary

Chinese people are very fond of asking about other people’s income. Income is not private for our social tradition, but I usually choose to hide it from people in my company or industry. HR or the company’s system will clearly stipulate that it is not allowed to inquire about employees’ salaries and bonuses in the company. Why? We all know that others are lower than themselves, others are sad; Other people are taller than us, you have to feel bad. People will think that their ability is above average, the contribution to the company must be more than the so-and so around, but once they learn that the other party’s salary is higher than their own, it is easy to break their psychological balance.

Physical imbalance is easy to get sick, psychological imbalance is easy to have an accident.

So salary is always a touchy subject. Before I get into that, I want to remind you that it’s important to look beyond the salary and benefits when choosing a job, to look at the longer term value.

Some time ago, I also went through job hunting. I met with four companies and got three offers, but I finally chose the company with the lowest salary, although the company with the highest salary can earn a lot more a year. Until now, I have no regrets. Because WHAT I value most is the learning ability and improvement of my colleagues, now the company will share technology once every other week, and the content of sharing often makes me surprised.

It seems like a long way off. We still have to negotiate our salary with HR, and we always expect to get the highest salary possible while joining the company we want. Here are some suggestions based on my experience:

  • Upping the ante

    If you do well in technical and managerial interviews, you’ll get a higher rating, and HR will give you a bigger range. Therefore, you should be fully prepared before the interview. If you are the object of others’ hesitation and just let you pass, the HR will not give in to you under normal circumstances. So all in all, it sounds like crap, but it’s true, and you should be prepared to improve your skills so that you can get a better evaluation in the interview.

  • There are people in key positions

    This is very important. Having people in the company you are interviewing with can give you a lot of information about them, such as whether the recruitment is urgent or not, and what is called “sit-in”, which means that no one else has what you have. Only with your own people can you know if there are other candidates who are more suitable than you, and if not, you have the right to sit and bid.

    If a company has been looking for the right person for a long time, the project is imminent, and you show up. But you do not know that you are found by them with great pains. If they do not want you, they may put the project at risk and there may be greater losses. At this time, you can ask for a higher price. But if you don’t have someone close to you to tell you that you’re doing well, you’ll probably feel like you’re not doing particularly well, you’ll worry about what you gain and lose, and of course you won’t speak up if you’re thin-skinned (or you don’t understand why you’re worth so much at the company at this point).

    If you don’t have the information to find out what’s going on inside the company, a lot of times you’re relying on luck, which is who you’re interviewing with and how much you’re worth. If at that time, you are the only candidate, then your requirements are not enough, generally can be satisfied. Of course, HR is still going to beat you down, because it’s someone else’s job to control labor costs. So it’s not surprising that someone who you think is less capable gets paid more than you. You entered the company at different times. And even if you think the other person is not as good as you, that’s just your opinion, and he may be, but at the corporate level, you may be on the same level. So don’t pay too much attention and it’s best not to ask.

  • Don’t let them set your price

    A number of readers have asked me if I can respond to an HR person’s salary expectations by asking them how much they are worth. If I were HR, I would definitely be disgusted with this kind of behavior. After I asked our HR (we usually have a good personal relationship), I got the same result. Later, I found some articles on the Internet that suggested a gentle way to throw the question back to HR, such as “I believe your company will give me the price I want.”

    I personally am very much against it. Most companies will give the salary range listed on their job boards, and it will generally be closer to below average. So when asked about your salary expectations, in addition to evaluating your performance in previous technical interviews, you should also look at the salary range the company is offering. Usually don’t give the company directly to the highest (their good enough exceptions), basic 15% more than they expected more appropriate, such as expectation is 18 k in my mind, actually oneself feel 16 k also can join in, then may say he expected to be 20 k if it is not like style, also can be attached, 19K is also ok, I believe the company will not bury themselves.

Is there anything else you want to ask?

It’s not unusual for an interviewer to stop asking you endless questions and leave the conversation to you.

That’s all my questions. Do you have any questions?

“To ask” or “not to ask” may be a question for you. If so, what kind of questions? As long as you’re not being too naive, you’ll know in your heart that the interview isn’t over and that it’s not appropriate to ask questions about bonuses or overtime that you’re particularly concerned about.

This is a deliberate, open-ended question that the interviewer is asking to get a sense of what you’re interested in. Or is it just because you really don’t have any questions to ask, but you don’t want to end the interview too directly, so you just ask?

That’s a real problem.

But we don’t have to guess the interviewer’s intentions, we go back to our own needs.

If you don’t have any questions, gently tell the interviewer that you don’t have any.

For example: “I’ve learned a lot about your company’s culture and vision through friends and channels, so I don’t have any questions for now, and I’d love to be a part of this environment.”

So what?

If I had to, that would be a lot of questions.

“Is there a lot of overtime on the project? Do you get overtime?” “Do you travel abroad?” “What is the room for personal advancement on this team?” .

It’s not that these questions aren’t good or can’t be asked. However, before we ask questions, we should think about what kind of questions we can ask to get the information we want and what are the best answers for the interviewer. That is, we should make the conversation after asking this question become effective communication, and this problem is our concern, and this problem is the other party has more say.

If the question about overtime pay, in fact, you ask HR or inside the work of friends will be more clear.

Before a technical interviewer asks a question, we need to find out where the interviewer is in the company right now. If he’s also a developer and interviewing you for a technical job, talk about the team’s tech stack.

For example: “Is your team adopting an agile approach?” Then talk to the interviewer about agile and share some of your experiences so that both of you can learn more about it.

Not all companies will adopt Agile, so we can ask more open-ended questions such as, “Do you have any mechanisms in place to deal with the technical obstacles you encounter on your project?” It’s a good idea to see if the company values technology and has a tradition of technical advancement and communication.

If the interviewer is in a management position, ask about the team; If you can join the team, which team will you be assigned to? Is there a team with you or a mode for you to make progress? Or find out how he feels about the current state of the team and if there are any changes he would like to introduce to the team or organization.

Ask the management interviewer questions about the team’s current situation and expectations for the future. These questions will give you an idea of where you need to go once you join the company.

HR will usually take the initiative to introduce the company culture to you, and you can continue to communicate with others where the salary and benefits are not clear.

Simply put, ask yourself the questions you want answers to, and ask questions that different interviewers would be “good” at answering.

Manager: Ask strategy technician: Ask tactical HR administrator: Ask logistics

What if the interview is less than 24 hours away?

Most interviews will have more than 3 days to prepare, but we often encounter a last-minute interview, give you less than 24 hours to prepare, let a person unprepared, this time what should we prepare? Of course, some students may procrastinate from many days to only one day before they decide to prepare.

What if we only have one day left? Many friends ah, will be more and more panic, more and more panic, constantly to see some other surface pilot, for fear of which point did not see. Finally, in the interview, I found that I forgot everything, and in the interview, I found that I did not answer well in the front, which is very easy to affect my performance in the back, right?

In fact, the time is approaching, but we should not go to see some new interview knowledge, calm down, do not need to prepare anything.

What not to prepare? You might say, Nanchen, are you kidding me? How can you be so calm that you don’t prepare for anything?

I do need to prepare some things.

So what are we going to do?

  • To introduce myself

    The first one is self-introduction. I just mentioned how we should introduce ourselves and how many sentences we should say, but I didn’t say exactly when we should prepare. Normally, it’s best to do this the day before the interview, but don’t memorize it.

  • Introduction to Project Experience

    What projects are you familiar with? What is the most difficult thing you have encountered in your job? And how did you finally solve it? What growth did you get from this project?

  • Position yourself

    Strengths and weaknesses: What are your strengths and weaknesses? “What are you best at?”

    But once you have a clear idea of who you are, even if you are wrong, you can always take out a pen and paper to record your strengths and weaknesses, and attach relevant examples.

  • Learn as much as you can about the company

    What should you know about the company? If you want to know what they’re looking for, you can start by looking at job descriptions on job boards. This is usually not accurate, so if you can, ask the people who work there, or directly ask them what they would expect you to do if they hired you. When you know what they’re looking for, you’ll have a better idea of what you should do.

    Second, you should learn about the company’s products and guess what problems they might have. You are hired to implement products and solve problems. For example, large apps may involve componentization and performance issues, while smaller apps may value your ability to develop quickly.

  • If you have conditions, you can also prepare the basis of Java and Android, nothing to say, Android basis can directly go to see my interview series.

  • There’s no need to prepare.

    Some of the skills you don’t have right now are not very profitable to prepare for. You may think you got it right, but the interviewer thinks you didn’t get it right.

    For example: algorithms, design patterns, OpenGL, etc., this time is not conducive to your memory and deal with the interviewer may ask you from a different Angle.

    That kind of problem, or skill, is very important, but for 24 hours you just have to accept that. If you have everything else, you can start investing time in these areas now, but don’t expect to use them right away.

At the last minute, please review the resume you submitted to the company, and follow the answers on the resume to ensure your integrity. If your story doesn’t match up with what’s on your resume, it has a big impact on you.

conclusion

So that’s about it for today, so let’s conclude. The first is our resume summary.

On your resume

  • Everything on your resume should be your most valuable asset.

    The first sentence is very important, so I’m going to say it again. ** Everything on your resume should be your most valuable asset. ** There should not be any rubbish on it, such as you like to play games, like photography, which has nothing to do with us programmers.

  • Gold two pages, PDF format, personal information two lines to avoid white space

    Our resumes are in PDF format to prevent formatting problems. The number of pages should be controlled in two pages, and the number of projects should be controlled in three to five. If there are too many projects, pay attention to the screening. It is better to write more details for each project than to write too many projects, so as to avoid the suspicion of outsourcing projects. It is better to write two information lines in the beginning of the personal information bar, not just one line, which wastes most of the good booth in the upper right corner.

  • The order of each column on your resume

    You should follow the order of each column on your resume: Personal Information => Work experience => Projects => Personal comments. The students recruited by the club also suggested that they could have several training projects and add campus experience to the second column.

  • Use the STAR rule

    When writing the project introduction of the resume, it is best to use the STAR principle to write clearly the background of the project, their responsibilities and tasks, their solutions and how to solve the difficulties encountered, and finally quantify the results with numbers.

  • Resist too official a self-assessment

    Self-evaluation can be written, but should not be too much, generally 4 ~ 5 appropriate, the content is not too official, it is best to reflect their own positioning, attitude, encounter difficulties in the scheme, their usual technical exchange platform, as well as their advantages and disadvantages. Tell your friends what you think and see if they agree with you. In general, other people’s opinions will be more objective.

  • Don’t prepare just one resume

    For different companies should prepare different resumes, in fact, each time the modification is not big, but do not blindly cater to the JD requirements of the other side to rewrite their resumes, their own content should be clear.

According to the interview

  • Prepare your introduction in advance

    Self-introduction is the first step in every interview. For different interviewers, self-introduction should focus on different, but the general idea is the same. Don’t recite everything on your resume, and don’t just say a few words. The right idea should be a comprehensive summary of yourself, including the impressive problem solving process in your work (START principle), one half of your technical hard skills and work performance, and the other half of your soft skills, including but not limited to communication, learning and other skills.

    The best way to introduce yourself is to write it down on paper in advance and practice it against the wall several times.

  • How to prepare for a technical interview

    Technical interviews generally go in two directions.

    The first direction is the content of the resume. Generally, the content mentioned in the resume will be deeply questioned to ensure that the content on the resume is true, and it is easy to judge the technical depth through details. So when writing your resume, you should guess what the interviewer is likely to ask. It’s best to be prepared for questions about any frame that appears on your resume. For example, if you say you are good at using RxJava, you should know the difference between RxJava 1 and RxJava 2. To give you a real scenario, you should know when to use the map, flatMap, zip, skipWhile operators, etc. You should also know the back pressure. How does RxJava 2 deal with it?

    The second direction is to ask questions beyond the resume. Depending on the level you are interviewing for, such as intermediate and entry-level development, you need to understand the basic lifecycle of the four components, you need to understand the basic basics of Java, and you need to understand the basic custom View. For advanced and advanced, you’ll need to be prepared for multithreading, complex custom views, and animations, not to mention multi-touch. Others are things that the interviewer’s company is desperate to solve or that they’ve had problems with.

    Another is to look at the company you are interviewing with. Larger companies will care more about your base level and code quality, so they will be more interested in your technical depth and breadth, while small and even outsourcing companies will care more about your development speed, and your ability to work under pressure.

    In general, no matter how many interview questions are prepared, it is better to first understand the basic questions, understand, and then think about the technical points mentioned in your resume, understand and then go to the interview.

  • How to deal with bragging questions

    HR brag topic is inevitable, and brag topic now besides HR, there are even a few director, manager can be asked. Why you left your last job, your career plan, your biggest challenge, what are your strengths, and why should we hire you? These questions should be prepared. And self-introduction should, the same is should be written in the notebook, and then their own many times to try to figure out, you may feel that they are ready to good things, you write out their own know.

    And the almost inevitable braggadocialquestion: “What else do you want to ask me?” This question, for different people ask different content, for managers, you can ask the company strategy; For technical staff, ask about the company’s project process; For executive HR, ask about benefits and company culture. If you really don’t have anything to ask, politely state that you’ve already heard what you want to know through another channel, rather than simply saying no.

  • How to negotiate salary

    Negotiating your salary is an essential part of the process. If you already have an offer in hand or feel you did a good job in the interview, it is recommended to talk with more confidence. The average asking price is 15% higher than what you want, don’t say range, don’t say range! Although I know you’re okay with being 10% below your expectations.

  • How to choose from multiple offers

    In the face of multiple offers, most of them are in the same city, this time we need to look at the long-term, ** must look at the long-term! Choose a company with more growth potential rather than just looking for salary. In fact, I have deep feelings about this area, so some time ago, I gave up the company whose salary is half higher than my present one, and chose my present company. In fact, the reason is very simple, the interviewer of one side of me lit up.

    Another point is that we must pay attention to the distance. It is best to choose the company close to home. Those who rent can move their home in the past. Spend more time at work than on the subway.

    For students recruited by the university, there will be some offers from different cities. If the distance from home is not considered, Beijing, Shanghai, Shenzhen and Chengdu are preferred. Then Guangzhou, Hangzhou and some other cities.

No technical depth worries

When we were junior engineers, the most we wanted was to have a lot of project experience to fill out our pale and dry resumes. However, with the accumulation of time, the items on the resume are quite “full”, but we only look at the “appearance” behavior caused another dilemma: they seem to be very senior, but actually have not done anything difficult, ten years of work may only be one year of work experience, 9 times.

I spoke to a guy who had been working on Android since 2009, and by now it’s been almost 10 years. There are more than 10, 4 pages of resumes on my resume. Let’s put aside the fact that the resume was not selective about project experience. When I read through the resume, THERE was no depth in it. It’s technically written, but only to the extent that it uses the API, and some of the problem solving approaches are clever but not systematic.

This reader has worked for four companies, two of which are well-known Internet companies. However, if I were the interviewer of the company, I might feel sorry for him and feel sorry that he did not choose to do more in-depth research and development.

There are well-known Internet enterprises to do the endorsement, there are nearly 10 years of development experience, but I always feel that there is something missing.

If I were the Leader of the company, I would think that such an interviewer would have better skills than ordinary Android applicants, but the cost performance is really too low.

Lack of technical depth is the norm for Android programmers. Because a lot of jobs, a lot of people work on projects that don’t require much technical depth, and even if you do, you may find that you don’t need it, and for most people, the rational thing to do is not to go for technical depth, but to have enough, to meet the needs.

But when it comes to personal words, it is different. You need to be competent in technology, but you need to have a certain depth in some aspects to highlight your ability to learn, understand and use, and this ability is backed by successful cases.

Especially when you become a senior engineer, many companies don’t want you to be mediocre and have no depth. Although you might wonder, I don’t know if YOU could use my depth, do you? However, the demand for people at this level is not as great as that for junior level developers. It is more rational and safe for companies to choose people with depth, right?


I am the south dust, only do than the heart of the public number, welcome to pay attention to me.

Nan Chen, GitHub 7K Star, is a frequent guest at tech Blog forums. He is from Android, but not just Android. A little technical, a little emotional. Do not finish of open source, write not finish of hypocritical, you listen to me blow force, not wrong ~