Do you know what a ** coding interview ** is?
A coding interview is an interview that is widely conducted by overseas Tech companies such as GAFA, and asks for knowledge of data structures, algorithms, system design, etc. Interview-Google
Coding interviews like those done on Google
--Within about 45 minutes --Problems with the basics of data structures and algorithms --While discussing with the interviewer (often in English) --Write code on the whiteboard and solve it
There are features such as.
The data structure and algorithm problem itself is [Cracking Coding Interview](https://www.amazon.co.jp/%E4%B8%96%E7%95%8C%E3%81%A7%E9%97% 98% E3% 81% 86% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E5% 8A% 9B% E3% 82% 92% E9% 8D% 9B% E3% 81% 88% E3% 82% 8B% E6% 9C% AC-% E3% 82% B3% E3% 83% BC% E3 % 83% 87% E3% 82% A3% E3% 83% B3% E3% 82% B0% E9% 9D% A2% E6% 8E% A5189% E5% 95% 8F% E3% 81% A8% E3% 81 % 9D% E3% 81% AE% E8% A7% A3% E6% B3% 95-Gayle-Laakmann-McDowell / dp / 4839960100 / ref = sxbs_sxwds-stvp? __mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & cv_ct_cx =% E3% 82% B3% E3% 83% BC% E3% 83% 87% E3% 82% A3% E3% 83% B3% E3% 82% B0 % E9% 9D% A2% E6% 8E% A5 & dchild = 1 & keywords =% E3% 82% B3% E3% 83% BC% E3% 83% 87% E3% 82% A3% E3% 83% B3% E3% 82% B0% E9% 9D% A2% E6% 8E% A5 & pd_rd_i = 4839960100 & pd_rd_r = 4a0bb728-2a26-4059-b57f-a91f9db99c36 & pd_rd_w = noInX & pd_rd_wg = zYEjp & pf_rd_p = 061436e1-e06b-4002-8259-a4784cf8d96f & pf_rd_r = 883CYZ1T8V8EWKBBR67P & psc = 1 & qid = 1588489219 & s = english-books & sr = You can practice using books like 1-1-c03f761f-6f93-450c-9c1a-00281a3cf99c) and sites like Leetcode.
However, the biggest feature of the coding interview is to solve the "** while communicating with the interviewer " problem. This requires training different from reading a book alone, solving problems, or working on competitive programming. In addition, when receiving an overseas Tech company such as GAFA, interviews are often conducted in English, so the ability to " explain your thoughts in English **" is also required.
Then how to take measures?
If you have an acquaintance who has experience in coding interviews, you can ask that person to do a mock interview, but I think many people say, "I don't know that!". However, the world is convenient and there are some services where you can practice interviewing.
One of them, ** Pramp **, can be used for free in Japan.
There weren't many articles that explained Pramp in Japanese, so I'd like to briefly introduce it (although I've used it about 5 times).
https://www.pramp.com
Pramp is a site for practicing coding interviews, and you can register and use it for free. It is used by people all over the world who prepare for interviews, and communication is basically conducted in English.
The biggest feature is that the user ** alternates the roles of both the interviewer and the candidate **. Pramp does not have a professional interviewer, and users who are practicing the interview are automatically matched and have problems with each other in half the time. There are many things to learn by experiencing an interviewer, which has the advantage of deepening the understanding of the interviewer, but on the other hand, the burden of doing the interviewer increases, and the interview does not go well by matching with candidates who are not very good at interviewers. There is also the disadvantage that there is a possibility.
I think some people say, "I don't want to bother to play the role of an interviewer!" I know how it feels, but as far as I can tell, this is the only free interview practice site, so it can't be helped.
First, let's go to Site.
When you press "Start Practicing", you will be prompted to enter your name and address, so you will receive an email when you enter it. Click the link in the email.
After that, enter the area you live in, your current skills, the language you use, and so on. This information can be changed later from the profile, so it doesn't matter.
Finally, you will be asked about the practice schedule. You may be surprised, "Are you sure you want to register your schedule?", But if you don't do this, you won't be able to proceed. You can change or cancel it later, so please select it appropriately for the time being.
Registration is now complete! You should see the interview schedule on your dashboard.
Next, we will decide the practice schedule.
When you click "Start a practice session" on the dashboard, you will first be asked what kind of problem you have.
If you're practicing for a general coding interview, you can use "Data structure and algorithms" (I've only done that).
Next you will be asked for the schedule.
You can select the time every 2 hours for the itinerary calendar. There are some colored times on the calendar, but it seems that the time zone is easy to match in the order of green-> yellow-> colorless. However, in my experience, even if you choose a colorless time, you have never failed to match, so you may not have to worry too much.
You can check the schedule on the dashboard. If you want to change or cancel, you can do it with the button next to the schedule. It should be noted that just because you have decided on a schedule does not mean that you have already decided on an interview partner, and it seems that matching will be done after the start time, so feel free to change or cancel it.
When you schedule an interview, the item "Question You'll ask" will appear next to it. This is a question that you will be asked when you are an interviewer. In Pramp, you don't have to think about it yourself because the questions to be asked are decided in advance. Prepare for this question before the interview so that you can behave well as an interviewer. Please note that you cannot choose this question yourself for the first time. After practicing about 3 times, the next question will be randomly selected from the questions asked by the other party in the past, so you will be able to choose your favorite question (by repeating cancellation and reselection). I will.
Clicking on the problem will bring up the following screen.
There are "Question", "Hints", and "Answer" columns on the right side, where you can see question sentences, hints, and answers. The answerer can only see the question text, not the hints and answers. Understand this issue before the interview and be prepared to give hints to the other person if necessary.
Basically, this editor should implement a function that returns the correct output for the specified input (similar to Letcode).
You can check the behavior of "Run Code" below with your favorite input. After implementing the function, you can check the output using a print statement or the like.
On the other hand, "Run tests" will return the correct answer to the prepared test input or will be judged. If you pass all, it will turn green, and if you make a mistake, it will turn red.
Five minutes before the scheduled time, a button called "Join session" will appear next to the schedule on the dashboard. If you click there, the matching standby screen will appear.
From experience, we will be able to match within 5 minutes from the scheduled start time and move on to the interview. The interview is posted on Youtube by the Pramp official, so I think you can get a feel for it by looking at it.
By default, you can see each other's faces with the camera, but you can also turn off the camera and use only voice (I was basically practicing with only voice). Whether you or the other person solves the problem first is automatically assigned. Since the problem statement is displayed, start by reading it and solve the problem while communicating with the other party. After solving, click the "Swap roles" button on the upper left to change the answerer. The standard answer time is 30 minutes each. You can continue practicing after 1 hour, but it seems to end automatically after 2 hours.
Please be assured that there are no particular penalties if you inadvertently miss the planned practice.
The interview will end when each other's practice is over. After the end, you will be taken to the screen where you can enter feedback to the other party. Write a brief evaluation of the other person's coding skills and communication skills.
After finishing, you can check the problem you solved and the feedback from the other party on the dashboard.
Feedback can be viewed in this way. Usually everyone is kind so you can make 3 or 4 stars.
Also, there is a button called "Request Intro", and it seems that both parties can know the contact information of the matched partner by pressing this. If you have great skills, you may want to exchange information.
――I think that many people have been preparing for interviews to use practice services such as Pramp in Japan, but I felt that it was a broad-based service that even beginners use overseas. For example, some of the people I matched said, "I don't know much about Dynamic Programming," so I think you don't have to worry too much about "the level is too high."
――At least the problem I solved wasn't that difficult. In my sense, it was as difficult as ** "the simpler problem in the Leeetcode medium" **.
-** It was a lot of practice in terms of communicating in English. ** I wasn't fluent in English, so I often couldn't hear it, but I managed to understand it while having a concrete example explain it. If the actual interview is also in English, the mental burden will be quite different depending on whether you are practicing or not.
――The important thing is not to think "I'm not good enough yet so let's stop". I practice because I don't have enough skills, and it's natural that there are things I don't understand or get stuck, so I think it's a good idea to try it once.
** Why don't you try Pramp for the first time to break through the GAFA interview! ** **