Different companies and people have different interview strategies. Some test breadth of vision, some dive into details, and some evaluate problem-solving ability. I have experienced some interesting interviews, traveling back and forth between major cities and various office buildings. There are companies I respect because of their interviews, and also stories that made me burst out laughing and left me helpless.
What is described below comes from my own experience, or from personal experiences told to me by friends. (For confidentiality and respect, any company information is omitted.)

First story, recording an interview conversation:
Interviewer: Why did you switch to the internet industry?
Me: I like the internet; I've gradually realized this over the past two years.
Interviewer: You are a very goal-oriented person. So, do you admit that spending these years in the telecommunications field, which did not align with your field goals, was a major failure for you?
Me: ...
The interviewer then said more things about how I was a failure in various ways. I was looked down upon at this company, heh. But the funny thing is, I actually passed his interview. Now I think about it, was he trying to lowball my salary or what?
I also understand that some interviewers want to use sharp words, even sarcasm, to observe a candidate's psychological endurance. But they seem to forget one thing: an interview is actually a two-way, equal process. There is not only the interviewer evaluating the candidate, but also the candidate evaluating the company. If a candidate performs poorly, he only loses his own opportunity; but if the interviewer behaves in a repulsive or even ridiculous way, he loses face for the entire company.
Just like the "group interview" that some companies favor, the biggest drawback of group interviews is that they create an atmosphere in which the interviewer and the candidate no longer seem equal, and use a strong competitive cue to guide the candidates. Many people cannot present themselves well under such circumstances.
Second story, recording a conversation with HR:
HR: When can you finish your resignation procedures? Can you make it by the end of this month?
Me: Probably about two and a half months. By month X, it will definitely be no problem.
HR: Don't tell me that. I know your kind very well. I know you can definitely finish the process within this month, right?
Me: ... I have a lot of work to hand over, and I also want to rest for a while and be able to make some choices. I hope you can understand.
HR: No company would agree to such a request. Think it over. Here is my phone number. Call me when you've made up your mind!
Another example of arrogance. I don't know where she got her timeline from. In fact, in my experience, only very few companies make such demands. Maybe it's because programmers are too weak and too subservient, allowing companies to get used to it?
If you need a talent, both sides need to consider each other. Yours is not the only world with constraints. I never contacted her again.
Third story, a series of technical questions asked during the interview.
Among this series of questions, many were meaningless and absurd, such as:
After which version number of JDK 5 did Sun Microsystems state that it was the last version of JDK 5 and no more updates would be released?
I happened to know that version number, but I was just wondering: does asking this make any sense?
There were also some frustrating detail questions, such as testing awk syntax. I got one parameter wrong because I didn't remember it accurately, but the interviewer cared a lot. I think running it under Linux would make it clear. A question that can be clarified in one minute with a Google search doesn't really reflect anything.
There was also a question that made me feel embarrassed. During a phone interview, I had already told the interviewer that I had no paper or pen, and I had already explained the general approach to the solution, but he still asked me to conceive the algorithm line by line in my head and read it out to him. The algorithm was about depth-first traversal. Writing it out would take at least several dozen lines, and I immediately got confused...
Fourth story, about receiving interviewees.
This area is truly full of all kinds of tricks. I've been left standing in the lobby waiting for twenty minutes; dumped at the office door waiting for HR to prepare printed materials for a quarter of an hour, then had several pages of test papers thrown at me; had an appointment and arrived at the company in the morning but was asked to come back in the afternoon because there were too many people; and had to wait for "the manager to return from a business trip" for several hours, chatting with the interviewer until I saw stars, with really nothing left to talk about...
Because of the torment of these interviews that lacked any sense of time, I eventually tried to filter out those unreliable companies through phone communication. Some HR reps directly require a face-to-face interview and refuse phone communication. I find it ridiculous. I'm in another city, and you just casually drag someone over to abuse him?
In contrast, many foreign companies, for candidates deemed suitable through phone communication, will coordinate your time with you, reimburse your accommodation and travel expenses, and minimize the trouble caused to you. Experiencing such a contrast as the same person makes me sigh with emotion.
So, what practices left a good impression on me?
- Pouring water for the interviewee and seeing the interviewee off. I put this first. These are the most basic details, but they can reflect a rather important trait—respect. But in my experience, companies that do this can be counted on one hand. Are you looking for someone willing to give up their job, their city, and their current life, and uproot themselves to a new environment to solve your problems and create value, or do you just want to hire a code monkey?
- Allow the interviewee to express themselves in the way they prefer—blank paper, computer, whiteboard, and if convenient, choose an IDE they are familiar with. What an interview examines should be what lies behind these approaches and media, and the most realistic state of work. Making them use unfamiliar tools will inevitably distort their true level.
- Let the candidate talk about some of his stories and his projects, go deeper and expand the conversation on the things he is familiar with, and also solve some specific problems. This is much more real than assuming a scenario and listening to wild nonsense. What the interviewer needs to do is discover the shining points in the candidate, feel their passion, and also assess what problems might arise if the candidate comes to work.
- Please give feedback. Even if he does not meet your requirements, tell him what is excellent, what is lacking, and which aspects do not measure up. As the saying goes, "The fragrance always remains in the hand that gives the rose." Help him improve and succeed. Even if the deal falls through, goodwill remains; look forward to future opportunities for cooperation. Don't just leave the words "wait for notification" and then go silent. That is a one-sided "non-commitment" and a form of "disrespect".
Source: http://www.raychase.net/371