Skip to content

edupinhata/codeInterview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Code Interview

Resources used to make code interview.

Each company has its own standard of the amount of knowledge that each level requires. These resources are based in my experience and in the current company that I work on.

Intern-Level Coding Interview — Candidate Guide

Who this is for

Candidates currently enrolled in a Computer Science or related undergraduate/graduate program. We assume you’ve taken introductory courses in logic, programming fundamentals, and basic mathematics.

You are not expected to have taken advanced courses (e.g., databases, compilers, operating systems, or deep OOP). The interview focuses on general problem solving and foundational coding skills.

What to expect

The interview mixes conceptual and hands-on questions, using common languages such as Java, Python, C, or C# (pick the one you’re most comfortable with).

We’ll cover four areas:

1. Logic & Problem Solving

Short puzzles or real-world scenarios where you’ll outline a clear approach before coding. We’re looking for how you understand the problem, break it down, and justify steps.

2. Programming Theory (Foundations)

Questions about core language constructs and why/when to use them—for example: variables, control flow (if/loops), functions/methods and basic data structures (arrays/lists).

3. Implementation

Small programming tasks solvable with straightforward algorithms and standard libraries. Emphasis on correctness, readability, and edge cases, not on advanced frameworks.

4. Basic System Design (Feature Thinking)

A lightweight exercise to describe a simple feature (e.g., a to-do list). We’ll discuss requirements, simple components, data flow, and trade-offs at a beginner level.

Junior Level Code Interview

Someone that would have most of the knowledge about software development that the college requires to learn. This includes:

1. Basic of a programming language:

- Function;
- Conditions;
- Loop structures;
- Object Oriented programming;   

Depending where you want to work, you might need to know a little bit about other programming paradigms, like:

- Functional Language;
- Structs;

2. Problem solving skills

This is one of most important skill that a develop should work on and that is really underestimated. I already saw a lot of people focusing into knowing the syntax of many languages, knowing frameworks, but at the end of the day, programming is the art of solving problems using the computer. The language and frameworks are only the means to translate the problem into computer language.

If you can't understand the problem, think ways to solve it, and more important, know how to translate it to a language that the computer will understand and process, knowing the language and framework are useless.

To practice problem solving skills, I recommend to use sites like:

3. Concepts of relational database

There is a really high chance that you'll need to work with a database. TO know SQL language and a Database Management System (DBMS) is really important. Also know how to make simple queries:

  • insertion, update and deletion;
  • select;
  • select with join;
  • sort and filter data;

4. Version control tools

Create code with a team will need code synchronization, keep different versions. It would be great if there was a tool to manage this. Actually there is! Tools like Git or Mercurial are meant to help you organize your code by doing things like:

  • Easy way to version your code, allowing you to access different points of the development;
  • Set tags to mark special versions of the code (usually releases);
  • Show in a easy way the changes that someone is trying to apply to the new code, so people can review if the change are right;
  • etc.

5. Learn how to read errors

Modern compiles already gives a lot of information about what's wrong with the code. So you must learn how to read it.

6. Get used to most common errors in code development

  • Array index out of bounds

Pleno Level Code Interview

The Pleno level is someone that already get a lot of experiences with all the items cited in the Junior Level. It's someone that already don't have doubts how to use it, or have really easy time learning small details of each tool. So, besides is really good with these concepts, the Pleno Level Developer should be able to:

In construction...

About

Resources used to make code interview

Resources

Stars

Watchers

Forks

Packages

No packages published