An open API service indexing awesome lists of open source software.

https://github.com/barbarpotato/coding-interview-preparation

This course will help you prepare for the unique aspects of a coding job interview, with approaches to problem-solving and computer science foundations.
https://github.com/barbarpotato/coding-interview-preparation

bigonotation binary-search binarytree breadth-first-search computerscience data-structures depth-first-search divide-and-conquer dynamic-programming graph greedy-algorithms hashfunction hashtable heap linearsearch quicksort recursion selection-sort spacecomplexity timecomplexity

Last synced: 12 months ago
JSON representation

This course will help you prepare for the unique aspects of a coding job interview, with approaches to problem-solving and computer science foundations.

Awesome Lists containing this project

README

          

![alt text](https://s3.amazonaws.com/coursera_assets/meta_images/generated/CERTIFICATE_LANDING_PAGE/CERTIFICATE_LANDING_PAGE~M6FLXD5E8YDH/CERTIFICATE_LANDING_PAGE~M6FLXD5E8YDH.jpeg)
This course consists of four modules. They cover the following topics:

# Module 1: Introduction to the coding interview
In this introductory module, you'll learn what a coding interview is, what it may consist of, and the types of coding interviews you might encounter. You'll discover how to prepare for a coding interview, focusing on communication and working with pseudocode. You will also get an introduction to computer science, including the fundamental concepts of Binary, Big O notation, and time and space complexity.

By the end of this module, you will:

- Be prepared for the interview process
- Have a strategy and a collection of tips to prepare you for successful interviews
- Recognize the role pseudocode plays in coding interviews and
- Grasp the fundamentals of computer science

# Module 2: Introduction to data structures
The second module of this course covers data structures. You'll learn about the implementation and capabilities of data structures across various programming languages and the similar patterns of the overarching architecture. You will learn about basic data structures, such as strings, integers, arrays and objects, before moving on to collection data structures, including lists, stacks and trees, and advanced data structures, such as hash tables, heaps and graphs.

By the end of this module, you will be able to:
- Review data structures in the context of coding interviews
- Recognize data structures that are commonly found in coding interviews

# Module 3: Introduction to algorithms
In this module, you'll learn about algorithms. You'll cover common approaches to sorting and searching with algorithms. You'll also explore the time and space complexity aspects of sorting and searching. You will then learn about working with algorithms, demonstrating how to visualize and problem-solve with algorithmic approaches, such as divide and conquer, greedy algorithms and dynamic programming.

By the end of this module, you will be able to:
- Grasp the concept and usage of algorithms
- Visualize an algorithm
- Combine new and previously learned coding patterns to solve problems

# Module 4: Final project
In this module, you will be assessed on the key concepts and topics covered in the course by taking the course quiz. You will complete this graded assessment with ten questions to test your knowledge and understanding of all the concepts and skills you have learned throughout the course. You will need to obtain a grade of 80% or higher, which will determine whether you can successfully pass the course.

By the end of this module, you will be able to:
= Apply the knowledge you've learned in this course