Is competitive programming a must for joining a top Internet company? Google code jam King pre-match interview (with video)

Moderator: Can you tell me something about yourself

Interviewee: Just like the competitive programming I decided to engage in, not only did I participate in those competitions in competitive programming, I participated in Google Code Jam in the United States in high school because I entered the finals, which is a part of my life every year. I went several times. International competitions plus I have a YouTube channel where I teach algorithms very well, so what is needed for Google Code Jam to enter the finals, because I have never even had preliminary preparations, basically not preparations. Some things a few days before the game are about other games

Moderator: Obviously, it will take you years to practice for a few months to participate in the competition

Interviewee: If you are very, very good, then there are a few qualifying rounds, I think three plus one additional preliminary qualifying rounds, and then 225 people enter the finals, only 25 people I think are the champions over 25 years old, and 26 years old The champion from the previous year and Gennady’s courage has actually been taken away in the past five years, my goodness, so he doesn’t need to take

He went straight to the finals in the preliminaries

Moderator: So can you talk to me, more about what is competitive programming

Interviewee: In short, this is a thought exercise. What you are considering is not interest or cards for the next step of poker. Here, you will consider how to program. Under certain time constraints, you will encounter some needs to be resolved. The problem data constraint is fast enough to invent a fish and implement it in time. Whoever is the fastest is the most likely problem

They usually care about execution time or just complexity. This is a very good question. Complexity is very important because there is a difference between ranking one second or one hour or one day. Usually if you are within the time limit, you can be like two Time limit like seconds. Well, some competitions may be very important. It may take a long time to calculate the good results of your program. It is because this is some np problem. There is no exact problem. The solution is what you can The solution found, but in most cases you need to pass it and then get the points assigned to this problem, such as the last Google Code Jam, how do you compare programs, mainly in terms of time or corrections, there is only one of them Is correct and will run in time, then each question has a certain score like this 15 points and one is 20, because it is more difficult, the most difficult is to say that the sum of 40 and points is important if there is a tie, then Your last solution when you submit is, if someone completes it in two and a half hours, then he will be better than those with the same score, if we are also good, how fast are you

Moderator: Yes, yes, what do you think you will

Interviewee: I think the best time should be what I expected last year. After the cannibals, this is crazy, but this is my highest performance in my life, not what I hope to repeat, of course I hope

Moderator: Well, well, can you give me an example of what is a competitive programming problem

Interviewee: Yes, I want to give you a cool example, I may not be able to solve it, but sir, I think you can overestimate it, it will show that there is a tennis match on my side is still very good If it’s me, it’s Marisol. Then you will get a series of letters. Regardless of how the player a or b scores, there are rules in tennis that require some points to win a game. Then I don’t know I don’t know myself very well, yes, the whole game has an order, you need to say which player completely won the whole game. Of course, if there is any, you can implement all these things of course. It’s a tie at the end of Saturday, they may still have to play for a long time. Not to say who got 4 points or any points that means to get immediately and you can achieve it in 10 minutes, I don’t know what I mean I want To do it, it’s very, very simple. We have a string like ba ba ba B and imagine it because I know the rules of tennis. If I know the rules of tennis, I will only add points, and if it is a collection, they already thought To set it up, that’s good, he wants to set it up so that I only listen to the correct sound

Moderator: So you usually do this. What happens during the game is that you see a moment of thinking about the question about how to achieve it

Interviewee: It may take a little bit of the back to spend 10 minutes, you check the leaderboard, it is solved, you see someone solve it in 30 seconds, how could you ask, they are like they have already written Like the preset code, it may be about just like pasting in C++, it contains 9 ways

Moderator: So you mean 30 seconds is the running time is 30 seconds or they submitted it. You have read and resolved the issue and submitted it in France

Interviewee: If I think they’ve heard a question, it’s about quickly coming up with a simple idea. The idea here is that you print out the last letter, Casey, yes, because if you already want yourself Be that, and you know that this glass of wine is an ID, no matter what happens in the reverse shaft, let us assume that I assume that the string is correct, which is a good point to say that the disadvantage of people accustomed to competitive programming is that they always assume Is the data correct to describe the matched sequence, or to see if the sentence indicates that you will get a sequence of numbers, they will be within this interval, they don’t care about the wrong characters, maybe some numbers are non-integers, they just follow the prompts Operation, so they might miss the real work when they should ask me what should I do if the user gives me an incorrect date, that’s very smart, yes, just look at the last letter of his string Yes there won't be a cool one i like, it's fun, okay

Moderator: Then would you say that competitive programmers will become better software engineers, or if it doesn’t matter

Interviewee: That's difficult. I have seen an article that has a negative correlation between size to ensure that they are smart. For example, highly competitive programmers are very smart, but on the other hand, they may not be technically It’s very important at work. It’s important to implement carefully to ensure that these things can be debugged. I think it’s easy for competitive programmers to make mistakes, so they need to collect correctly all the time, but there are some that they don’t Skills are good candidates. Some of them will be great hitters. Some of them will be unreasonable. This makes sense. So what is the biggest competition and platform? I have already mentioned the code for competitive programming. It’s the Russian-language platform and the Japanese advertising coder. The top coder in the United States. This is the first platform for almost 20 years. The other two are quite young. They organize competitions online every week. So if you Combining all these platforms, plus a few platforms I haven’t mentioned, you will participate in the competition every two days or so, and you will have some important insights from time to time like Google Culture TopCoder opens the Facebook Hacker Cup. They are just organized by big companies. Attract skilled participants, maybe hiring them Google Code Jam is actually a professional stream that I think is carefully prepared and has a lot of advertising. Knowing that they will promote Google stadia in the advertising stream this year, but also for programmers

Moderator: So there are a lot of clips working with us. This is an eco-intern, please tell us

Interviewee: Do you like it, why do you like Google? Yes, this is like a big advertisement. I still don’t complain because I can compete with other strong competitors and have a chance to win money. I also want to travel to the United States.

Moderator: Yes, yes, he is here to pay for your flight

Interviewee: Yes, the person in charge. This is the problem of the hotel they cover. Sometimes it is a five-star hotel, so I have been to several five-star hotels just because the result of the competition is the first and second place what is the price

Now it’s about 10,000 or 15,000 US dollars, especially for fuel, if it’s not in the rich countries of Europe, but in Poland, but it really costs more than 100,000. Now I think about it for so long, but it’s just my feet, maybe Because once it means so much money, you have no motivation to work in the company

Moderator: Yes, yes

Interviewee: Google wants to attract the best talents, so they shouldn’t give them money in advance. Well, maybe it’s just a side issue

Moderator: Do you often do math in the past

Interviewee: I didn’t really compete in high school until high school. I did maps instead of informatics. I even went to some international websites. Maybe not as big as Google Code Jam, but I think I’m one of the best. A year of Poland and many highly competitive people

Programming is very good in math

Moderator: Yes, some of them have not studied computer, they have studied the science of mathematics or economics, have they?

Interviewee: These math problems are very similar to coding problems. I think it takes the skills to understand all of this knowledge to understand. I see that the logical meaning of proving something will work is similar. You need a lot of knowledge. This knowledge only applies to algorithms, but the same person is good for both. People usually attend competitive programming colleges and then they stop because it seems that everyone is still young, and it may be because the company's programming is almost No, existed 20 years ago, only a few people topped the list, more than 30 most people study a lot in high school, if they prepare for Iowa in the ICPC competition, or in the university are highly competitive and Skills go to a certain company, because coding interviews also involve algorithms. Competitive programming may be a place to try to learn to compare yourself with others, and competitions like Google have become the mainstream of programmers. If you are

Moderator: Very good, Google may invite you to participate in a good interview, and after graduating from university, you already have a job, maybe you start a family without, and then have time to practice a few hours a week, then Why continue

Interviewee: It is certain that some people still like it because they like it, but not a lot. I personally think that it is usually only applicable to these jobs and it is much easier to win the game

Moderator: Do you think the coding question of the interview is similar to the competitive programming question, or is it easier to talk about the first question?

Interviewee: How easy is it to get the competition? It’s not that you have to win like Google kickstart to be invited to the top 200 or even 500. You can say when you apply

Maybe they will give you a chance to interview for the first time, because you can still enter the finals soon if you are not good at other areas, but this is a chance to be recognized compared with thousands of people. The problem is similar. Competitive programming is more difficult, because sometimes people are trained because it needs to be more difficult, but there are only some differences in competitive programming

Need some complicated algorithm coding interviews can sometimes ask you questions that are impossible to test with computers. For example, if thousands of computers perform parallel calculations, you will not be able to meet the problems in competitive programming because the organizer does not want to get

Thousands of machines to test your program. Google has organized such competitors to compete with hundreds of machines for your program, but the limitations are called distributed culture call coding interviews and sometimes there are other unsolvable problems. Competition Programming, such as inventing the algorithm we are engaged in. Given a number with binary search, because the array is sorted, it is difficult to test using competitive programming, because you still need to get the array, so the computer tracker takes at least Must be linear complexity. Anyway, when you talk to someone during the interview, they can ask you what about this, you can achieve smaller memory, maybe try to get constant memory. Good programs that automatically judge sometimes will There are some limitations, like you can’t distinguish two complexities and constants at the same time. It’s important, so all content is tested. The disadvantage is that you can distinguish everything, but there are also advantages. Everything is fair and objective is not that the interviewer likes you.

Moderator: You'd better rate a quick question, so in competitive programming, will it do it?

Interviewee: As it happens, higher complexity is actually better because the lower logarithm

Moderator: Sorry, higher complexity, what should we do if we like higher complexity

Interviewee: It may be faster and it will be better because the like constant is too high for like. The lower context is, yes, it may happen, you need to understand when to focus on competitive programming. For example, Need to understand that hashlib has a high constant factor if possible, if the value is still small, and they fit and

Do I use an array instead of all the content will be constant access, but this is faster, so this is an example, the other is maybe a little complicated theoretically worse, but since it is actually such a small data, even if n squared , Because n is so small, you don’t have to care about it, and you don’t have to invent a number of times n in some place, so that people don’t check your code during inspections, the game is right, and they can even test, even if the test is very Weak They do not cover some situations, it may be edge cases, or your algorithm is developed, it may be quadratic, but when the data is random, there are some similar algorithms, the organizer will try to do By this point of pessimistic running time, they try to create test cases. Malicious test cases, but not always impossible to predict all situations. Interestingly, they have card work, so people will win because they realize that the test is not very good, so they You can make the code not even cover all extreme cases, but because it may happen, you win especially in the last few minutes of the game. Now you know that you won’t have time to figure it out, so you just have to try anything possible like writing in school Some Yes, I have been working here randomly, okay, my CBI may pass, and it passes every 10 or 100 projects. Would it be fun? To meet in person again this year, this is the right that I own that my team cannot get

Is competitive programming a must for joining a top Internet company? Google code jam contest champion interview

 

 

Guess you like

Origin blog.csdn.net/linuxguitu/article/details/112361066