I am a CSE Graduate from KIIT University. I joined Microsoft straight out of college. Usually, Microsoft doesn’t visit there, but that year I got lucky.

2 written tests + 3 F2F technical interviews + 1 Skype technical interview


Written test 1 (Objective), 30 minutes

First written test was conducted by some third party company. It consisted of 15 objective questions from C, Sorting, Data Structures, Big O, compiler and state machine. We were given 30 minutes. Cut off was 12 out of 15 questions. 77 out of 400 students made it.

Written test 2 (Coding), 60 minutes

Three problems to be solved in 60 minutes with no use of compiler. One problem on Linked List, second on heap and third on array. I coded all problems from scratch including main method. I also wrote flexible methods that could work on any kind of inputs (instead of deleting nodes from 4 to 6, it would delete nodes between ‘M’ and ‘N’ ) and handle all corner cases. The result was announced after 20 days. 30 out of 77 made it.

F2F Interview #1, 60 minutes

We were interviewed in groups of 6. Each one of us in a group was given same problem to solve. I couldn’t code the perfect solution in an hour. All I had discussed 6 different ways to solve the problem. I was afraid that I might be rejected in first round. The interview lasted for 60 minutes.

14 out of 30 were selected.

Continue reading My interview experience at Microsoft

Read more

My contribution on Quora on cracking technical interviews:


  1. What should I do in the next 6 months to get into a company like Amazon/Google?
  2. How do I go about preparing for interviews on GeeksforGeeks?
  3. What are the top 20 websites for interview preparation?
  4. What are some useful websites for a CS student?
  5. How does one become good at problem solving?
  6. Career Cup or GeeksforGeeks?
  7. Should I do competitive programming or learn GeeksforGeeks, from a placement point of view?
  8. Which is the best book to start learning algorithms?
  9. Which books should I refer for data structures in C?
  10. I suck in competitive programming but I wish to make a mark there. I’m improving my skills by practicing on GeeksforGeeks. Is this the right approach?
  11. Should I learn algorithms and data structures in my vacation or learn any other thing? See details.
  12. How many academic projects should be mentioned in the resume while appearing for big companies like Amazon, MS, Adobe by a fresher?
  13. What are your reviews of Data structures and Algorithm made easy by Narasimha Karumanchi? Should it be used and when?
  14. Is it neccessary to put subjects of interest in our resume, we dont get good job at big tech companies if not added?
  15. Do we have to mention our Data structures skills in our resume in subjects of interest part ?
  16. Does the bloggers get paid when they write article on geeksforgeeks?
  17. How can one contribute to GeeksforGeeks and become one of the moderators?
  18. Studying Algorithms and data structures cover similar topics in c,c++ and Java languages?
  19. What is the difference between dynamic programming and recursion?
  20. What is easiest approach to tackle Dynamic programming problems?
  21. How should I explain dynamic programming to a 4-year-old?

Copyright © 2017, Aashish Barnwal,  All rights reserved.

Read more

My interview with GeeksforGeeks: Geek on the top – Aashish Barnwal

My contribution on GeeksforGeeks over the years:

  1. How to prepare for top MNCs?
  2. Implementing Iterator pattern of a single Linked List
  3. Curiously recurring template pattern (CRTP)
  4. Opaque pointer
  5. Factory design pattern
  6. K Dimensional Tree | Set 1 (Search and Insert)
  7. Design an efficient data structure for given operations
  8. Ternary Search Tree
  9. Print unique rows in a given boolean matrix
  10. Implement LRU Cache
  11. Sort numbers stored on different machines
  12. Find the k most frequent words from a file
  13. Given a sequence of words, print all anagrams together | Set 1
  14. Given a sequence of words, print all anagrams together | Set 2
  15. Generate integer from 1 to 7 with equal probability
  16. Graph and its representations
  17. Median of two sorted arrays of different sizes
  18. Iterative Quick Sort
  19. Magic Square
  20. Comparator function of qsort() in C
  21. Copy elision in C++
  22. Playing with Destructors in C++
  23. Casting operators in C++ | Set 1 (const_cast)
  24. DFA based division
  25. Counting Sort
  26. Space and time efficient Binomial Coefficient
  27. Efficient program to calculate e^x
  28. Greedy Algorithms | Set 2 (Kruskal’s Minimum Spanning Tree Algorithm)
  29. Greedy Algorithms | Set 3 (Huffman Coding) – GeeksforGeeks
  30. Greedy Algorithms | Set 4 (Efficient Huffman Coding for Sorted Input)
  31. Greedy Algorithms | Set 6 (Prim’s MST for Adjacency List Representation)
  32. Dynamic Programming | Set 27 (Maximum sum rectangle in a 2D matrix)
  33. Dynamic Programming | Set 28 (Minimum insertions to form a palindrome)
  34. Dynamic Programming | Set 30 (Dice Throw)
  35. Dynamic Programming | Set 31 (Optimal Strategy for a Game)
  36. Dynamic Programming | Set 34 (Assembly Line Scheduling)
  37. Find minimum elements after considering all possible transformations – GeeksforGeeks
  38. Check whether a given graph is Bipartite or not
  39. Maximum of all subarrays of size k (Added a O(n) method)
  40. Linked complete binary tree & its creation
  41. Print all permutations in sorted (lexicographic) order
  42. Lexicographic rank of a string
  43. Union-Find Algorithm | Set 1 (Detect Cycle in a an Undirected Graph)
  44. Measure one litre using two vessels and infinite water supply
  45. Random number generator in arbitrary probability distribution fashion
  46. Iterative Postorder Traversal | Set 1 (Using Two Stacks)
  47. Iterative Postorder Traversal | Set 2 (Using One Stack)
  48. Boundary Traversal of binary tree
  49. An in-place algorithm for String Transformation
  50. Morris traversal for Preorder
  51. Construct Full Binary Tree from given preorder and postorder traversals
  52. Two nodes of a BST are swapped, correct the BST
  53. Check if each internal node of a BST has exactly one child
  54. Largest subarray with equal number of 0s and 1s
  55. Check if a number is Palindrome
  56. Given a number, find the next smallest palindrome
  57. Construct BST from given preorder traversal | Set 1
  58. Construct BST from given preorder traversal | Set 2
  59. Flattening a Linked List
  60. Find the largest multiple of 3
  61. Count numbers that don’t contain 3
  62. Check divisibility by 7
  63. To find sum of two numbers without using any operator
  64. Find a pair with the given difference
  65. Add two numbers represented by linked lists | Set 2
  66. Longest Palindromic Substring | Set 1
  67. Longest Palindromic Substring | Set 2
  68. Count the number of possible triangles
  69. Find the number of islands
  70. Pascal’s Triangle
  71. Stack | Set 1 (Introduction)
  72. Heap Sort

Copyright © 2017, Aashish Barnwal,  All rights reserved.

Read more
Social media & sharing icons powered by UltimatelySocial