Skip to content

jdbirla/campus-interview-guide

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

60 Day Learning Challenges for Campus Interviews

Do you want to prepare for your campus interview but do not know where to start? This guide is here to help you!

Sixty Days of free learning to get you started on the journey for your campus interview!

PS: This is version 1 focused on the basics. As we get feedback and forks, we would want to add advanced stuff.

Objectives for first 7 days

  • What is coding/Programming?
  • What are Programming languages?
  • What is Object oriented Programming? which to choose? Java vs Python vs JavaScript?
  • How to write a code or How to write basic hello world or calculator program?
  • What are the steps you must follow to be a good programmer?

Day 1

Recommendations

Day 2: The time to choose a language which you want to learn

  • Getting Started with Java - https://courses.in28minutes.com/p/java-tutorial-for-beginner-in-250-steps
  • Step-1: Introduction to java - Watch "Introduction" section of the course
  • Step-2: Installing JDK and setup in your machine - Follow the steps mentioned in "Installing Java 9" section of the course
  • Step-3: Let's Get started - Introduction to Java Programming with Jshell using Multiplication Table - Step 0 - Step 12

Day 3:

Day 4

Day 5

Day 6

Day 7

If you want to learn more about Java Programming and Jshell, We would recommend you to our complete course on Java from here- https://www.udemy.com/course/java-programming-tutorial-for-beginners/. This course will help you understand every concept of Java and Object Oriented Programming concepts.

Objectives for DataStructures & Algorithms

  • What is an algorithm?
  • What are Data Structures?

Topics to Explore

  1. Arrays & Strings
  2. Searching Algorthims
  3. Sorting Algorithms
  4. Linked Lists
  5. Stacks
  6. Queues
  7. Bit Manipulation
  8. Big O & Analysis of Time complexity
  9. Trees
  10. Graphs
  11. Hashing
  12. Greedy Algorithms
  13. Divide and Conquer Algorithms
  14. Dynamic Programming

Day 8

Day 9 - Let's Solve some problems on "Arrays"

  1. Find the number of zeroes(E): https://www.geeksforgeeks.org/find-number-zeroes/
  2. Program for array rotation(E): https://www.geeksforgeeks.org/array-rotation/
  3. Move all zeroes to end of array(E): https://www.geeksforgeeks.org/move-zeroes-end-array-set-2-using-single-traversal/

Day 10

Day 11

Day 12

Day 13

Day 14

Day 15

That's enough for the day. Try to recollect & remember what you have learnt today.

Day 16

Let's solve some problems using sorting algorithms-

  1. Sort an array of 0s, 1s and 2s(E)- https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
  2. Find whether an array is subset of another array(E)- https://www.geeksforgeeks.org/find-whether-an-array-is-subset-of-another-array-set-1/
  3. Sorting Strings using Bubble Sort(M)- https://www.geeksforgeeks.org/sorting-strings-using-bubble-sort-2/
  4. Count all distinct pairs with difference equal to k(M)- https://www.geeksforgeeks.org/count-pairs-difference-equal-k/
  5. Chocolate Distribution Problem(M)- https://www.geeksforgeeks.org/chocolate-distribution-problem/

Day 17

Day 18

Time for Linked Lists

  1. Singly Linked Lists
  2. Doubly Linked Lists
  3. Circular Linked Lists

Chapter-4.1: Singly Linked Lists

Let's solve some problems using "Singly Linked Lists"-

  1. Write a function to get Nth node in a Linked List- https://www.geeksforgeeks.org/write-a-function-to-get-nth-node-in-a-linked-list/
  2. Delete a Linked List node at a given position- https://www.geeksforgeeks.org/delete-a-linked-list-node-at-a-given-position/
  3. Find the middle of a given linked list- https://www.geeksforgeeks.org/write-a-c-function-to-print-the-middle-of-the-linked-list/

Day 19

Chapter-4.2: Doubly Linked Lists

Let's solve some problems using "Doubly Linked Lists"-

  1. Program to find size of Doubly Linked List- https://www.geeksforgeeks.org/program-find-size-doubly-linked-list/
  2. Reverse a Doubly Linked List- https://www.geeksforgeeks.org/reverse-a-doubly-linked-list/
  3. Delete a node in a Doubly Linked List- https://www.geeksforgeeks.org/delete-a-node-in-a-doubly-linked-list/
  4. Rotate Doubly linked list by N nodes- https://www.geeksforgeeks.org/rotate-doubly-linked-list-n-nodes/

Chapter-4.3: Circular Linked Lists

Let's solve some problems using "Circular Linked Lists"

  1. Split a Circular Linked List into two halves - https://www.geeksforgeeks.org/split-a-circular-linked-list-into-two-halves/
  2. Count nodes in Circular linked list - https://www.geeksforgeeks.org/count-nodes-circular-linked-list/

Day 20

LinkedLists is one of the most important topic asked in interviews. So, Let's practice them for 2 days.

Day 21

LL Practice Day-2 - Solve the following questions on Leetcode. Remember we created Leetcode on Day-17. Let's use it now.

  1. Palindrome Linked List(E)- https://leetcode.com/problems/palindrome-linked-list/
  2. Intersection of Two Linked Lists(E)- https://leetcode.com/problems/intersection-of-two-linked-lists/
  3. Remove Nth Node From End of List(M)- https://leetcode.com/problems/remove-nth-node-from-end-of-list/
  4. Rotate List(M)- https://leetcode.com/problems/rotate-list/
  5. Partition List(M)- https://leetcode.com/problems/partition-list/
  6. Reverse Nodes in k-Group(H)- https://leetcode.com/problems/reverse-nodes-in-k-group/

About

60 Day Learning Challenges for Campus Interviews

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published