What is the advantage of participating in a Google Code Jam or Facebook Hacker Cup?

Updated on : December 3, 2021 by Liam Walker



What is the advantage of participating in a Google Code Jam or Facebook Hacker Cup?

Participating in Google Code Jam or Facebook Hacker Cup helps you increase your programming skills. It also improves your logical thinking. Because you know that math plays an important role in programming, these skills increase your math skills.

And the best part is that several of the world's top coders take part in these competitions, thus you pave a great platform to compete with them and thus you can find where you really are in the world of programmers. For a programmer, these contests are festivals.

Last but not least, you can get a job offer (full time / part time) from Google / Facebook if you get the highest score in the final.

To prepare for Google's Code Jam, you must first understand the entire structure of Code Jam. So, I will answer your question regarding each round.

Qualifying round

This is the easiest round in code jam from what I can see from last year's questions. The problems in this round are used to check whether the participant has basic problem-solving skills or not. The minimum limit required to pass this round is 30 points in the 2020 jam code. The difficulty of the questions in this round is similar to the Div 2 ABC code forces and you can easily solve these problems with some effort, even if

Keep reading

To prepare for Google's Code Jam, you must first understand the entire structure of Code Jam. So, I will answer your question regarding each round.

Qualifying round

This is the easiest round in code jam from what I can see from last year's questions. The problems in this round are used to check whether the participant has basic problem-solving skills or not. The minimum limit required to pass this round is 30 points in the 2020 jam code. The difficulty of the questions in this round is similar to the Div 2 ABC code forces and you can easily solve these problems with some effort, even if it is just a beginner. This round will be 27 hours this year.

Round 1a, 1b and 1c

This is where the real competition begins. You will only get 2:30 hours and there will be 3 problems that will be much more difficult than the ones in the qualifying round. From each round, the top 1500 finishers will qualify for the next round. Note that you cannot participate in 1b or 1c if you were in the top 1500 in 1a. You need to have some speed and a good command of DSA to be able to solve all the problems. But to qualify, even solving 2 problems or 1.5 problems quickly is enough for most of the time. Practice codeforce Div 2 CD and some E problems to get a good idea of ​​the problems you are going to face. Also solve codejam questions from the previous year.

Round 2

Now only 4500 participants remain. This time the problems will be really difficult. You can expect this round to be similar to Codeforces Div 1. Don't forget the world's top 1000 encoders are also participating (like the guys from Div 1 on codeforces, 7 stars on codechef). So you must have a lot of speed and problem solving skills. I will advise you to enter the Codeforces Div 1 contest as much as possible. Practice as much as you can and review your DSA concepts. Only the top 1000 players will advance to the next round.

Round 3

You don't need any advice if you've come this far. I'll just say practice, practice, and practice because only the top 25 will advance to the next round.

Final round on site

You will be in the same room as the tourist himself. So you know who you are, what you are doing and why you are doing it. I just wish you the best of luck.

Summary :-

Practice, practice and practice!

Keep increasing the difficulty of the problems you solve

Good luck guys and see you at Code Jam 2020.

Yes.

The only good news I have for you is that competitive programming is not yet as developed or popular as other sports.

However, there are several things to keep in mind:

  • It's already relatively well developed and it's kind of popular, so it's not like there are only 5 people in the world doing it :) There are a lot of really skilled people with several years of experience, there are people all over the world who have exactly the same goal as you do it and probably practicing as hard as you, if not harder. What makes you think that you have a good chance of being better than these people? That
Keep reading

Yes.

The only good news I have for you is that competitive programming is not yet as developed or popular as other sports.

However, there are several things to keep in mind:

  • It's already relatively well developed and it's kind of popular, so it's not like there are only 5 people in the world doing it :) There are a lot of really skilled people with several years of experience, there are people all over the world who have exactly the same goal as you do it and probably practicing as hard as you, if not harder. What makes you think that you have a good chance of being better than these people? What makes you think that you are special? Being good at competitive programming is nowhere near reaching the winning GCJ level.
  • I'm not aware of any research on competitive programming training, but assuming it works similarly to other brain activities, starting earlier should be better. For example, there are no really strong chess players who started at such a late age. However, it may have a different explanation, or maybe chess works completely differently than competitive programming. As I know, there are also no strong competitive programmers who started this late :) There are red guys who started in their twenties and probably even after twenty-five, but like I said before, just getting good is nowhere near becoming a higher level. contestant. Right now, at the age of 25, I don't see how learning things is more difficult for me than when I was 15,
  • Last, and most importantly, you probably have other things to do in life. When you are in school or college, you have a lot of free time and nothing to do, and you can spend this time developing any skills. Adult life is a different story. Are you planning to remain unemployed at the age of 25 .. 26 .. 27 years? Otherwise, think about having a full-time job for 40 hours a week and then doing CP training, which will be like a second full-time job for you, which will also take more than 40 hours a week. Sounds fun right?

So to sum it up briefly: I don't even know if physiologically it's a bad idea to start contests at such a late age, but it doesn't sound promising from a social perspective for a ton of reasons, and the question sounds bad for any age, too. It's like asking "is it too late to start playing basketball at age 6 if you want to become the NBA's MVP?" Sure, if you don't mind spending a long time without reaching your goal and you enjoy what you do, go ahead. But don't hold your breath for something so impressive.

It depends.

Assuming you know the difference between a coder, a programmer, and a developer, I would say that a top100 coder is not always a good industrial developer.

  1. They don't necessarily know how to write code that lasts at least 5 years.
  2. They don't necessarily know how to write code that someone else understands. They generally don't comment on their default programming style or provide documentation. They also find it difficult to read their peers' code without judging and analyzing.
  3. They don't necessarily know how to design, design, and write more than 500 lines of code. In TC it is'
Keep reading

It depends.

Assuming you know the difference between a coder, a programmer, and a developer, I would say that a top100 coder is not always a good industrial developer.

  1. They don't necessarily know how to write code that lasts at least 5 years.
  2. They don't necessarily know how to write code that someone else understands. They generally don't comment on their default programming style or provide documentation. They also find it difficult to read their peers' code without judging and analyzing.
  3. They don't necessarily know how to design, design, and write more than 500 lines of code. In TC it is just a function; in ACM ICPC it is just one file.
  4. They don't necessarily know a lot about using external libraries or open source tools when it comes to finding cost-effective and reliable solutions to industrial problems. For the most part, they prefer to write it themselves from scratch rather than relying on others.
  5. They have deep performance concerns in mind by default, as fast execution is always a factor in most programming challenges. Fast sometimes means making your code super dirty and dirty so that it runs 10% faster and is ACCEPTED, not an algorithmic improvement. So if "maintainability" is more of a concern for a team of 100+ developers working remotely on an MM line size code base, things like What are some cool manipulation tricks / tricks? bits? they are not really useful.
  6. Not all problems in the industry are solved 10 in 5 hours. You will have days, weeks, or months to do your job.
  7. Not all top100 encoders are team players. Even ACM-ICPC teams are sometimes 3-tank solving individually. (And win!) Most of the good guys are introverts (10 years of experience dealing with them says so) and it's not easy for them to have efficient communication and explain their thoughts in a non-technical way. It's going to be a bigger problem in the industry when you have to explain your solution to a PM with no IT experience who only cares about time / money efficiency.
  8. They will get bored if you don't feed them challenging problems often. And that doesn't always happen in life.
  9. If the company itself is not among the 100 most popular companies in the valley, it will be very difficult for them to maintain the loyalty of these candidates.

That said, not everyone needs them. And it's a risk to hire someone like that if you don't have problems that only they can solve!

The good news is that big companies always have the money, the brand, the benefits, the time, and everything they need to take this risk and hire them. This is why if you are in the TC Top 100 or an ACM ICPC World Finalist, you will most likely be contacted by Google or FB recruiters frequently. And yes, after having a gold seal from one of these great brands on your resume as proof of industrial experience, you will receive even more opportunities down the road.

However, for the OP: if you are not there yet, if you are not passionate about problem solving just because of the feeling you get every time you see "Yes, AC!", And if your goal is to simply get hired for good or best companies, this path is one of the worst to take. Go learn Software development.

Edit: And from some perspectives it sucks. Aideen NasiriShargh's answer to What Sucks About Competitive Programming? Why is it better to do real world programming?

Google Code Jam (website: Google Code Jam)

  • Rounds: Qualification, Round 1 (3 of these), Round 2, Round 3, On-site Finals; (Code Jam distributed, round 1, 2, then final on site)
    • Programming: Google Code Jam
  • Small and large data sets:
    • infinite tries on the small data sets (take advantage of this to make sure your code works), 4 minutes to submit
    • one attempt at the large dataset, 8 minutes to submit
  • Number of questions per round:
    • Rating: 4 problems
    • Round 1: 3 problems
    • Round 2: 4 problems
    • Round 3: 5 problems
  • Number of finalists selected: 26 people last year
  • Prize money: 15k (1st), 2k (2nd), 1k (3rd), $ 100 for the eve
Keep reading

Google Code Jam (website: Google Code Jam)

  • Rounds: Qualification, Round 1 (3 of these), Round 2, Round 3, On-site Finals; (Code Jam distributed, round 1, 2, then final on site)
    • Programming: Google Code Jam
  • Small and large data sets:
    • infinite tries on the small data sets (take advantage of this to make sure your code works), 4 minutes to submit
    • one attempt at the large dataset, 8 minutes to submit
  • Number of questions per round:
    • Rating: 4 problems
    • Round 1: 3 problems
    • Round 2: 4 problems
    • Round 3: 5 problems
  • Number of finalists selected: 26 people last year
  • Prize money: 15k (1st), 2k (2nd), 1k (3rd), $ 100 for everyone else
    • Prize money for the jam code distributed: 5k, 1k, $ 500 (1st, 2nd, 3rd)
  • Code Jam distributed: another attempt at the final event
  • Jerseys: top 1000 in round 2, top 500 in round 1 distributed code

Facebook Hacker Cup (website: Facebook Hacker Cup)

  • Rounds: Qualifying, Round 1, 2, 3, On-site Finals
  • Only one data set: one send attempt (6 minutes to send)
  • Number of questions per round and # of people advance:
    • Rating: 4 problems
    • Round 1: 4 problems (all solving a problem in quals)
    • Round 2: 4 problems (scored at least 30 points in round 1)
    • Round 3: 5 problems (top 200 in round 2)
  • Number of finalists selected: 25 this year
  • Prize money: 10k, 2k, 1k (1st, 2nd, 3rd)
  • T-shirts: Top 500 competitors receive a T-shirt

I think the most important difference between FBHC and GCJ is the small data sets that GCJ allows you to test. This allows you to have much more confidence in your code and is more acceptable to most programmers. What are the good tips for someone who is participating in Google's Code Jam for the first time?

In terms of difficulty they are similar, except for FBHC, make sure to actually check your code because you only have one send.

Google is not going to hire you for your performance in competitions.

Even if you perform really well, you will have to go through an interview and will be hired for your performance during interviews, not your performance at GCJ.

It is true that you can get an interview call if you do well at GCJ. I don't know all the details about Google's hiring process, and for the details, I know I'm not going to share them externally for obvious reasons, so don't wait "as long as you are among the 5.8438% of the participants, you will definitely receive a call ”kind of answer :). As you can see in Nick Wu's a

Keep reading

Google is not going to hire you for your performance in competitions.

Even if you perform really well, you will have to go through an interview and will be hired for your performance during interviews, not your performance at GCJ.

It is true that you can get an interview call if you do well at GCJ. I don't know all the details about Google's hiring process, and for the details, I know I'm not going to share them externally for obvious reasons, so don't wait "as long as you are among the 5.8438% of the participants, you will definitely receive a so-called ”kind of response :). As you can see from Nick Wu's answer to Google interviewing Code Jam finalists (ie those who made it to the final round on the site) for job opportunities, given who are talented enough to advance to the last round - the on-site round should be enough.In fact, even much weaker returns greatly increase their appeal to recruiters;

It is also true that acting alone can be enough to get interviews. Google hired me as a competitive programmer with zero industry experience, zero open source contribution, and mediocre ratings from a not-so-famous university. I know other Google employees with similar stories. You need something to attract recruiters; In general, as long as your "something" is impressive enough, you don't need anything else. Not having any project on your CV is not a problem.

In case you like to enter contests and also want to get noticed by Google recruiters, it makes sense to participate in as many different Google events as possible. Maybe Google Kick Start, Google Hash Code or some different event will give you the opportunity you are looking for.

Ok, let me try to answer from a new perspective (existing answers are negative):

Practically, I think it can be worth it, as long as you enjoy coding contests.

I received full-time offers from both Facebook and Google. I would say that 70% of the questions asked are closely related to competitive programming problems. Many of them are algorithm problems (telephone and whiteboard interviews). Sorry, I would disagree with the Venn diagram in another answer.

I spent quite a bit of time (compared to my peers) on competitive programming. HOWEVER, I feel that receiving offers from these great companies is more

Keep reading

Ok, let me try to answer from a new perspective (existing answers are negative):

Practically, I think it can be worth it, as long as you enjoy coding contests.

I received full-time offers from both Facebook and Google. I would say that 70% of the questions asked are closely related to competitive programming problems. Many of them are algorithm problems (telephone and whiteboard interviews). Sorry, I would disagree with the Venn diagram in another answer.

I spent quite a bit of time (compared to my peers) on competitive programming. HOWEVER, I feel like getting offers from these big companies is more of a by-product to me; I really enjoy coding contests and I enjoy the satisfaction when a tricky problem is solved during / during contests. So in my case, I didn't spend time practicing for coding contests in order to get an offer from some big company; rather, I participated in coding contests because I enjoy the process itself.

However, as a final observation, the skill set to be a successful and productive software engineer is quite different from what you need to do well in programming contests. You don't have to be a red scrambler or complete the first few rounds at Google Code Jam or Hacker Cup to get an offer from big companies like Google or Facebook.

See also
: Where do people get the idea that competitive programming is very important to a successful career? Where does the idea come from and why is it spreading?
- Does having a very low TopCoder rating make someone unemployed? My current rating is 1196 (high green). Every time they put me in division 1, I can't solve the problems, but the two times they put me in division 2, I got the highest score in the room.
- What steps should I take to be an excellent web developer without having to do competitive programming?

Let's start by briefly outlining the structure of the contest followed by discussing the themes emphasized in these rounds to get an idea of ​​their difficulty.

The competition takes place once a year and lasts for more than 5 months.

Based on 2019 data, the rounds are

1) Qualifying round: Around 35,500 people made at least one attempt in this contest. The cut-off score for this round was 30, which was secured by 27,500 people.

This means that the success rate is -> (27500/35500) ~ 75 percent

2) Round 1: There are 3 parts to this round A, B, C. You can participate in any of these rounds, but if

Keep reading

Let's start by briefly outlining the structure of the contest followed by discussing the themes emphasized in these rounds to get an idea of ​​their difficulty.

The competition takes place once a year and lasts for more than 5 months.

Based on 2019 data, the rounds are

1) Qualifying round: Around 35,500 people made at least one attempt in this contest. The cut-off score for this round was 30, which was secured by 27,500 people.

This means that the success rate is -> (27500/35500) ~ 75 percent

2) Round 1: There are 3 parts to this round A, B, C. You can participate in any of these rounds, but if you qualify in one you will not be able to participate in any other SUB ROUND of round 1. Di participated in 1A, but not qualified, you can still participate in 1B. But if you delete it, you will not be able to participate in 1C. You must be among the first 1,500 participants in any of these sub rounds to advance to round 2.

This means that a total of 4500 people qualify for round 1.

The success rate is -> (4500/27500) ~ 16 percent

3) Round 2: The top 1000 of the 4500 people qualify in this round and it is these 1000 people who win the jerseys.

Success rate -> (1000/4500) ~ 22 percent

4) Round 3: The top 25 people out of the 1000 people qualify this round to advance to the world final.

Generally speaking, it means 1000 out of 35500 people get Code Jam shirts ~ 2.8 percent

The most important topics you should definitely master to secure a t-shirt are:

Mathematics, Dynamic programming, Graphics.

Almost all the problems presented are combinations of these topics with different levels of difficulty.

So it's not easy to get one of these and you should have a pretty good understanding of data structures and algorithms, but nonetheless:

Since the google merchandise is great, I added the t-shirt images that I got in 2019 code jam😃

Keep smiling and keep coding :)

As others said, I assume you are asking about an engineering position.

Furthermore, a "best way" can only be considered in relation to the alternatives. What's best for me may not be best for you.

Leaving the previous disclaimers behind, Code Jam is a great help to get into Google because:

  1. Google may come close to you even if you perform moderately well (in my personal case, it was enough to be slightly below the top 1000). The scouter who contacted me explicitly referred to my participation in Code Jam, but I don't know what other things they knew about me (from my online presence or from t
Keep reading

As others said, I assume you are asking about an engineering position.

Furthermore, a "best way" can only be considered in relation to the alternatives. What's best for me may not be best for you.

Leaving the previous disclaimers behind, Code Jam is a great help to get into Google because:

  1. Google may come close to you even if you perform moderately well (in my personal case, it was enough to be slightly below the top 1000). The scouter who contacted me explicitly referred to my participation in Code Jam, but I don't know what else they knew about me (about my online presence or things that people who know me had told them).
  2. In the interviews themselves, your experience in competitive programming (generally, not necessarily from Code Jam) can give you a significant advantage in addressing the questions asked. If you're already "way above the bar," it won't matter. But if you are a "borderline" candidate looking to become "clearly above the bar," you can go a long way.

As with everything in life, YMMV.

GL and HF!

Yes absolutely. You should list anything that makes you stand out / seem special, and being a finalist in these types of contests is awesome.

If you were just a participant, on the other hand, I would refrain from mentioning it.

Regarding how interviewers / HR feel about such details, depending on the company, HR may not be technical and may not be aware of the prestige that accompanies these contests. If I were you, I'd make it easy for them and minimize the cognitive work they have to do reading your resume, explaining exactly how prestigious these contests are. For example, you can say that ag

Keep reading

Yes absolutely. You should list anything that makes you stand out / seem special, and being a finalist in these types of contests is awesome.

If you were just a participant, on the other hand, I would refrain from mentioning it.

Regarding how interviewers / HR feel about such details, depending on the company, HR may not be technical and may not be aware of the prestige that accompanies these contests. If I were you, I'd make it easy for them and minimize the cognitive work they have to do reading your resume, explaining exactly how prestigious these contests are. For example, you can say that a given contest had x participants from y countries, and it made it to the final round along with z more.

Coding brilliantly with zero defects / Misatkes.

Your data structure and your knowledge and experience in algorithms should be amazing.

For every line of code you write, think, think, and reconsider. “Is this the best and cheapest or good solution to the problem you are looking to solve with your code?

PS: I am not a coder.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.