CPFAQ: How Do Coding Interviews Differ from Coding Contests?

Egg

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

It’s no secret that the popularity of competitive programming depends partly on the popularity of the coding interview, the ubiquitous interview format in which interviewers present candidates with a problem and ask them to to solve it using code. Like candidates for software jobs, contestants in a programming contest also face tough coding puzzles. But programming contests and coding interviews are not the same thing. Even in a company-sponsored contest like Google Code Jam, doing well doesn’t get you a job offer, though it can get you invited for an interview.

A few weeks ago, I wrote about whether programmers should see competitive programming as a way to get a programming job. This week, I’ll go into some similarities and differences between programming contests and coding interviews.

« Continue »

CPFAQ: A Topcoder Chat with Petr Mitrichev

Petr Mitrichev

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

On September 20, 2008, Petr Mitrichev took part in a Topcoder Spotlight Session where he answered questions from competitive programming enthusiasts. I ran across a reference to this session on Quora while researching another topic and thought it would make a good addition to my current series on how top competitive programmers practice.

The transcript below is an edited version of the original. I included just the questions that Petr answered directly, and I rearranged the chat order to put his answer directly after the corresponding question. I also fixed spelling, grammar, and word choice, and converted textspeak to standard English. I left in the original user handles, which should help if you want to find something in the original chat. I hope my edited version captures the essence of the original while being easier to read.

« Continue »

CPFAQ: How Did X Become a Top Competitive Programmer?

Studying

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Questions that are too specific to one person’s situation don’t work well on Quora. They tend to be non-canonical duplicates that are fishing for ultra-personalized advice that’s unlikely to help future readers. Often they include a long personal story.

Answers, on the other hand, can benefit from writers who are willing to share their life experience. In the competitive programming topic, several people have described how they made the journey from beginner to expert level in the world of programming contests.

« Continue »

CPFAQ: How Long Should I Work on a Programming Problem Before Looking at the Answer?

Clock

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Anyone who has practiced solving competitive programming or coding interview problems, has confronted a choice: when you get stuck on a problem, when is it time to look for help? Here are some principles and suggestions to make the right decision.

« Continue »

CPFAQ: Is Competitive Programming Only For Smart People?

Einstein

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

It’s fun to debate the nature vs. nurture / intelligence vs. effort question. Years ago, I started this blog with a post on that subject. In Quora’s competitive programming topic, people have found a multitude of ways to ask Is competitive programming only for smart people? I found the most interesting answers in a question with this unwieldy title:

Can an average IQ person with no competitive programming experience reach Brian Bi’s level in C++ and competitive programming one day just by hard work?

« Continue »

CPFAQ: Will Competitive Programming Success Help Me Get a Programming Job?

Coder

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Although Quora is by far the most popular venue for competitive programming Q&A, questions do sometimes pop up on other sites. On Stack Overflow, competitive programming questions typically get downvoted and deleted in short order. Reddit has more lenient policies and allows questions to stay up even if users have asked them repeatedly in the past. Here’s one that appeared last week on the CSCareerQuestions subreddit:

Competitive programming, worth dedicating time to it or not?

Do employers value competitive programming at all?

Although the question didn’t get a huge amount of attention — after a few days, it has just three upvotes — the responses covered a range of opinions similar to those expressed on Quora when people ask similar questions there.

« Continue »

CPFAQ: The Quora Approach to Quality Control

Inspector

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Every website that gets its content from its users has to deal with the problem of quality control. It’s not enough just to ask people to write words and publish everything you get. With that approach, low-quality garbage easily overwhelms useful writing. The most successful websites in this space have come up with unique ways to ensure that their content is worth reading.

« Continue »

CPFAQ: Making a Wiki Look Like Wikipedia

Lua

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

I mentioned last week that I was creating a glossary of competitive programming terms, in the format used by glossaries on Wikipedia. This week, I made the necessary changes to CPWiki to properly render the glossary.

« Continue »

CPFAQ: Defining Competitive Programming Terms

Dictionary

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

It would be useful to have a page in the FAQ for a glossary of competitive programming terms. The Q&A part of the FAQ and the associated wiki discuss terms in detail, but a glossary provides an easy way to look up short definitions of terms that appear in questions and answers. This week, I started to collect a list of terms.

« Continue »