Skip to content

ani03sha/Technical-Interview-Preparation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Technical Interview Preparation

This repository contains my interview preparation journey for technical interviews.

It includes my solutions to various topics including -

  • Problem Solving
  • Language specific problems
  • Design Patterns
  • Frameworks

Problem Solving

450 DSA

Collection of 450 problems on Data Structures and Algorithms

Arrays

  1. Reverse the array (Java, Python, JavaScript)
  2. Find the maximum and minimum element in an array (Java, Python, JavaScript)
  3. Find the "Kth" max and min element of an array (Java, Python, JavaScript)
  4. Given an array which consists of only 0, 1 and 2. Sort the array without using any sorting algorithm (Java, Python, JavaScript)
  5. Move all the negative elements to one side of the array (Java, Python, JavaScript)
  6. Find the Union and Intersection of the two sorted arrays. (Java, Python, JavaScript)
  7. Write a program to cyclically rotate an array by one. (Java, Python, JavaScript)
  8. Find Largest sum contiguous Subarray (Java, Python, JavaScript)
  9. Minimize The Maximum Difference Between Heights (Java, Python, JavaScript)
  10. Minimum Number Of Jumps To Reach End Of An Array (Java, Python, JavaScript)
  11. Find Duplicate In An Array Of (N + 1) Integers (Java, Python, JavaScript)
  12. Merge Two Sorted Arrays Without Using Extra Space (Java, Python, JavaScript)
  13. Kadane Algorithm (Java, Python, JavaScript)
  14. Merge Intervals (Java, Python, JavaScript)
  15. Next Permutation (Java, Python, JavaScript)
  16. Count Inversions (Java, Python, JavaScript)
  17. Best Time To Buy And Sell Stocks (Java, Python, JavaScript)
  18. Count Pairs With Given Sum (Java, Python, JavaScript)
  19. Common Element In Three sorted Arrays (Java, Python, JavaScript)
  20. Rearrange The Array In Alternating Positive And Negative Items With O(1) Extra Space (Java, Python, JavaScript)
  21. Find If There Is Any Subarray With Sum Equal To 0 (Java, Python, JavaScript)
  22. Find Factorial Of A Large Number (Java, Python, JavaScript)
  23. Find Maximum Product Subarray (Java, Python, JavaScript)
  24. Find Longest Consecutive Subsequence (Java, Python, JavaScript)
  25. Given An Array of Size n And A number k, Find All Elements That Appear More Than n/k Times (Java, Python, JavaScript)
  26. Maximum Profit By Buying And Selling A Share At Most Twice (Java, Python, JavaScript)
  27. Find Whether An Array Is A Subset Of Another Array (Java, Python, JavaScript)
  28. Find The Triplet That Sum To A Given Value (Java, Python, JavaScript)
  29. Trapping Rain Water (Java, Python, JavaScript)
  30. Chocolate Distribution Problem (Java, Python, JavaScript)
  31. Smallest Subarray With Sum Greater Than A Given Value (Java, Python, JavaScript)
  32. Three Way Partitioning Of An Array Around A Given Value (Java, Python, JavaScript)
  33. Minimum Swaps Required Bring Elements Less Than Or Equal To K Together (Java, Python, JavaScript)
  34. Minimum No. Of Operations Required To Make An Array Palindrome (Java, Python, JavaScript)
  35. Median Of 2 Sorted Arrays Of Equal Size (Java, Python, JavaScript)
  36. Median Of 2 Sorted Arrays Of Unequal Size (Java, Python, JavaScript)

Matrix

  1. Spiral Traversal Of A Matrix (Java, Python, JavaScript)
  2. Search An Element In A Matrix (Java, Python, JavaScript)
  3. Find Median In A Row Wise Sorted Matrix (Java, Python, JavaScript)
  4. Find Row With Maximum No. Of 1s (Java, Python, JavaScript)
  5. Sort a Matrix (Java, Python, JavaScript)
  6. Maximum Size Rectangle (Java, Python, JavaScript)
  7. Find A Specific Pair In Matrix (Java, Python, JavaScript)
  8. Rotate Matrix By 90 Degrees (Java, Python, JavaScript)
  9. Kth Smallest Element In A Row-Column Wise Sorted Matrix (Java, Python, JavaScript)
  10. Common Elements In All Rows Of A Given Matrix (Java, Python, JavaScript)

String

  1. Reverse String (Java, Python, JavaScript)
  2. Check Palindrome (Java, Python, JavaScript)
  3. Find Duplicate Characters In A String (Java, Python, JavaScript)
  4. Check Whether One String Is A Rotation Of Another (Java, Python, JavaScript)
  5. Check Whether A String Is A Valid Shuffle Of Two Strings (Java, Python, JavaScript)
  6. Count And Say Problem (Java, Python, JavaScript)
  7. Longest Palindromic Substring (Java, Python, JavaScript)
  8. Longest Repeating Subsequence (Java, Python, JavaScript)
  9. Find All Subsequences Of A String (Java, Python, JavaScript)
  10. Find All Permutations Of A String (Java, Python, JavaScript)
  11. Split The Binary String Into Substrings With Equal 0s And 1s (Java, Python, JavaScript)
  12. Word Wrap Problem (Java, Python, JavaScript)
  13. Edit Distance (Java, Python, JavaScript)
  14. Next Permutation (Java, Python, JavaScript)
  15. Balanced Parentheses (Java, Python, JavaScript)
  16. Word Break (Java, Python, JavaScript)
  17. Rabin Karp Algorithm (Java, Python, JavaScript)
  18. KMP Algorithm (Java, Python, JavaScript)
  19. Convert A Sentence Into Its Equivalent Mobile Numeric Keypad Sequence (Java, Python, JavaScript)
  20. Minimum Number Of Bracket Reversals Needed To Make An Expression Balanced (Java, Python, JavaScript)
  21. Count All Palindromic Subsequence In A Given String (Java, Python, JavaScript)
  22. Check If Given String Exists In 2D Character Array (Java, Python, JavaScript)
  23. Search A Word In A 2D Grid Of Characters (Java, Python, JavaScript)
  24. Boyer Moore Algorithm (Java, Python, JavaScript)
  25. Roman To Integer (Java, Python, JavaScript)
  26. Longest Common Prefix (Java, Python, JavaScript)
  27. Number Of Flips To Make Binary String Alternate (Java, Python, JavaScript)
  28. Second Most Repeated String In A Sequence (Java, Python, JavaScript)
  29. Minimum Swaps For Bracket Balancing (Java, Python, JavaScript)
  30. Longest Common Subsequence (Java, Python, JavaScript)
  31. Program To Generate All Possible Valid IP Addresses From Given String (Java, Python, JavaScript)
  32. Find The Smallest Window That Contains All Characters Of String Itself (Java, Python, JavaScript)
  33. Rearrange Characters In A String Such That No Two Adjacent Are Same (Java, Python, JavaScript)
  34. Minimum Characters To Be Added At Front To Make String Palindrome (Java, Python, JavaScript)
  35. Group Anagrams (Java, Python, JavaScript)
  36. Find The Smallest Window In A String Containing All Characters Of Another String (Java, Python, JavaScript)
  37. Remove Consecutive Duplicate Characters (Java, Python, JavaScript)
  38. String Matching Where One String Contains Wildcard Characters (Java, Python, JavaScript)
  39. Find Number Of Customers Who Could Not Get A Computer (Java, Python, JavaScript)
  40. Transform One String To Another Using Minimum Number Of Given Operation (Java, Python, JavaScript)
  41. Check If Two Given Strings Are Isomorphic To Each Other (Java, Python, JavaScript)
  42. Recursively Print All Sentences That Can Be Formed From List Of Word Lists (Java, Python, JavaScript)

Lists

  1. Reverse The Linked List (Java, Python, JavaScript)
  2. Reverse A Linked List In Group Of Given Size (Java, Python, JavaScript)

Binary Trees

  1. Level Order Traversal (Java, Python, JavaScript)
  2. Reverse Level Order Traversal (Java, Python, JavaScript)
  3. Height Of A Binary Tree (Java, Python, JavaScript)
  4. Diameter Of A Binary Tree (Java, Python, JavaScript)
  5. Mirror Of A Tree (Java, Python, JavaScript)
  6. Inorder Traversal (Java, Python, JavaScript)
  7. Preorder Traversal (Java, Python, JavaScript)
  8. Postorder Traversal (Java, Python, JavaScript)
  9. Left View Of A Tree (Java, Python, JavaScript)
  10. Right View Of A Tree (Java, Python, JavaScript)
  11. Top View Of A Tree (Java, Python, JavaScript)
  12. Bottom View Of A Tree (Java, Python, JavaScript)

Dynamic Programming

  1. Coin Change (Java, Python, JavaScript)
  2. Knapsack Problem (Java, Python, JavaScript)
  3. Binomial Coefficient (Java, Python, JavaScript)
  4. Permutation Coefficient (Java, Python, JavaScript)
  5. Nth Catalan Number (Java, Python, JavaScript)
  6. Matrix Chain Multiplication (Java, Python, JavaScript)
  7. Edit Distance (Java, Python, JavaScript)
  8. Partition Equal Subset Sum (Java, Python, JavaScript)
  9. Friends Pairing Problem (Java, Python, JavaScript)
  10. Gold Mine Problem (Java, Python, JavaScript)
  11. Assembly Line Scheduling (Java, Python, JavaScript)
  12. Painting The Fence (Java, Python, JavaScript)
  13. Maximize The Cut Segments (Java, Python, JavaScript)
  14. Longest Common Subsequence (Java, Python, JavaScript)
  15. Longest Repeating Subsequence (Java, Python, JavaScript)
  16. Longest Increasing Subsequence (Java, Python, JavaScript)
  17. Space Optimized Longest Common Subsequence (Java, Python, JavaScript)
  18. Longest Common Subsequence Of Three Strings (Java, Python, JavaScript)
  19. Maximum Sum Increasing Subsequence (Java, Python, JavaScript)
  20. Subsequences Product Less Than K (Java, Python, JavaScript)
  21. Longest Arithmetic Subsequence of Given Difference (Java, Python, JavaScript)
  22. Maximum Subsequence Sum Without Three Consecutive (Java, Python, JavaScript)
  23. Egg Drop (Java, Python, JavaScript)
  24. Maximum Length of Pair Chain (Java, Python, JavaScript)
  25. Maximal Square (Java, Python, JavaScript)
  26. Pairs With Specific Difference (Java, Python, JavaScript)
  27. Maximum Path Sum (Java, Python, JavaScript)
  28. Maximum Difference Of Zeros And Ones (Java, Python, JavaScript)
  29. Minimum Number Of Jumps (Java, Python, JavaScript)
  30. Minimum Cost To Fill Given Weight In A Bag (Java, Python, JavaScript)
  31. Minimum Removals From Array (Java, Python, JavaScript)
  32. Longest Common Substring (Java, Python, JavaScript)
  33. Reach A Given Score (Java, Python, JavaScript)
  34. Count Balanced Binary Trees Of Height h (Java, Python, JavaScript)
  35. Largest Sum Contiguous Subarray (Java, Python, JavaScript)
  36. Smallest Sum Contiguous Subarray (Java, Python, JavaScript)
  37. Unbounded Knapsack (Java, Python, JavaScript)
  38. Word Break (Java, Python, JavaScript)
  39. Largest Independent Set (Java, Python, JavaScript)
  40. Longest Palindromic Subsequence (Java, Python, JavaScript)
  41. Count All Palindromic Subsequences (Java, Python, JavaScript)
  42. Longest Palindromic Substring (Java, Python, JavaScript)
  43. Longest Alternating Subsequence (Java, Python, JavaScript)
  44. Weighted Job Scheduling (Java, Python, JavaScript)
  45. Coin Game Winner (Java, Python, JavaScript)
  46. Count Derangements (Java, Python, JavaScript)
  47. Buy And Sell Stocks Atmost Twice (Java, Python, JavaScript)
  48. Optimal Game Strategy (Java, Python, JavaScript)
  49. Optimal Binary Search Tree (Java, Python, JavaScript)
  50. Palindrome Partitioning (Java, Python, JavaScript)
  51. Word Wrap (Java, Python, JavaScript)
  52. Mobile Numeric Keypad (Java, Python, JavaScript)
  53. Boolean Parenthesization (Java, Python, JavaScript)
  54. Largest Rectangular Submatrix With Zero Sum (Java, Python, JavaScript)
  55. Largest Submatrix With Equal 1s And 0s (Java, Python, JavaScript)
  56. Maximum Sum Rectangle (Java, Python, JavaScript)
  57. Buying And Selling Stock At Most K Times (Java, Python, JavaScript)
  58. Interleaving Strings (Java, Python, JavaScript)

Bit Manipulation

  1. Count Set Bits (Java, Python, JavaScript)
  2. Non Repeating Numbers (Java, Python, JavaScript)
  3. Count Number Of Bits To Be Flipped To Convert A To B (Java, Python, JavaScript)
  4. Count Total Set Bits In All Numbers From 1 To N (Java, Python, JavaScript)
  5. Power Of Two (Java, Python, JavaScript)
  6. Find Position Of Set Bit (Java, Python, JavaScript)
  7. Copy Set Bits In A Range (Java, Python, JavaScript)
  8. Divide Two Integers (Java, Python, JavaScript)
  9. Calculate Square Of A Number (Java, Python, JavaScript)
  10. Power Set (Java, Python, JavaScript)

Cracking The Coding Interview

Arrays and Strings

  1. Is Unique
  2. Check Permutation
  3. URLify
  4. Palindrome Permutation
  5. One Away
  6. String Compression
  7. Rotate Matrix
  8. Zero Matrix
  9. String Rotation

Linked Lists

  1. Remove Duplicates
  2. Return Kth To Last
  3. Delete Middle Node
  4. Partition
  5. Sum Lists
  6. Palindrome
  7. Intersection
  8. Loop Detection

Stacks and Queues

  1. Three In One
  2. Stack Min
  3. Stack Of Plates
  4. Queue Via Stacks
  5. Sort Stack
  6. Animal Shelter

Trees and Graphs

  1. Route Between Nodes
  2. Minimal Tree
  3. List of Depths
  4. Check Balanced
  5. Validate BST
  6. Successor
  7. Build Order
  8. First Common Ancestor
  9. BST Sequences
  10. Check Subtree
  11. Random Node
  12. PathsWithSum

Bit Manipulation

  1. Insertion
  2. Binary To String
  3. Flip Bit To Win
  4. Next Number
  5. Debugger
  6. Conversion
  7. Pairwise Swap
  8. Draw Line

Recursion And Dynamic Programming

  1. Triple Step
  2. Robot In A Grid

Frameworks

Spring

  1. Building A RESTful Webservice
  2. Scheduling Tasks
  3. Consuming Rest Application
  4. Accessing Relational Data Using JDBC

About

This repository contains various interview questions with their answers. Edits are welcome!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published