Technical

Few years ago, a personality test revealed that I am an INFJ, the rarest of 16 personality types that exist in this world. Most of the time I was in senses, I used to ponder on why my brain is wired differently from the people I hang out with. Words that describe me are conscientious, determined, organized, planful, creative, thoughtful, introspective, value-driven, private and altruistic.

  1. I don’t quit. I work on my growth relentlessly until I achieve the goal I have in mind. I am my biggest critic. I always have a burning desire to achieve more. For me, it’s never enough. I have a purpose in life — To become better in my abilities and sharpen my skills with each passing day and I strive to make it happen no matter how long it takes.
  2. I choose friends carefully. I have few friends whom I trust. I don’t regret it. Less people I sit with, less bullshit I would have to deal with. And this gives room to pursue my hobbies and expand my horizon in personal development.
  3. More than people, I find solace in solitude and art. Be it writing or playing piano or do photography. But I also find it torturous to spend long time alone.
  4. I don’t share my knowledge in person unless asked. Instead my curious mind often comes up with zillion of questions for the problem the other person discusses. And sometimes, it helps them out. My contribution to the Tech community (GeeksforGeeks) is pure altruism.
  5. I give time to people who are worth my time and energy. Selfish, self absorbed, judgemental and negative people turn me off. I prefer to spend time on my hobbies instead.
  6. I am an easy going person because of good listen quotient and great understanding nature. I have been seen from many people at work as a great team player. Rarely have I met someone who didn’t enjoy a face to face conversation with me. From English literature to urdu poems, from politics to fantasy, from finance to technology. I can talk it all except sports. I don’t very much like talking about politics with serious people. I have seen it turning relationships sour.
  7. I choose who to travel with. Good companions make amazing trips.
  8. I walk out of an argument when it’s getting worse and not going anywhere. I cut off people when they sound judgemental and make comments unless they know me personally. It makes people think of me as a rude and arrogant person.
  9. I take constructive criticism very seriously and use it in my benefit. It has helped me in every aspect of personal and professional development in life so far.
  10. I am on open book if you know how to read well. Otherwise I might be the greatest mystery.
  11. Precaution is better than cure. I try my best preparing for a situation before it disturbs my calm mind and sleep. I like plans and value punctuality. I tend to be more of a meticulous person than a spontaneous one. My brain works like a decision tree and it likes to ponder on the various possible outcomes of a decision and decisions of that decision.
  12. I appreciate talent. You might not be the greatest pianist in the world. But if you play good, I feel fortunate to know you in person.
  13. I care for people I am close with. I usually put thoughts and conscience before saying something.
  14. I am fascinated by high quality things — Good food, nice cloths, great ambiance. I appreciate beauty and craftsmanship. I might disagree that looks don’t matter to me. But that would be a lie. I like beauty around me. Minimalistic by nature, I prefer to dine at finer restaurants twice a week than chilling out in below average eateries every alternate day.
  15. I am quite social and often come out as charming. I make friends instantly when they share some mutual interest.

What is your personality type? Have you tried rewiring your brain to improve it?

I am working on #8 and hope to come out of it soon.

Read more

If you are wondering how I ended up at Microsoft, well, it’s a long story and if you have got some time, you can read it here:

Journey of a boy from small town to Microsoft – An untold story Part 1

If you like to read about dreams and goals, you might like my journey. I won’t claim it to be inspiring and motivating. Neither would I claim it to be struggling and unique. I will leave it for you to decide. But everyone has a journey and a story to tell. And this my friend, is my journey.

This post is retired. Please read Half decade at Microsoft and counting… for fresh content.

July 15, 2013

Each year when I wake up in the morning and find Facebook reminding me of this very date, I can’t stop myself to feel happy and grateful. I thank god who has graced my life with all the opportunities & happiness and given me an ability to be good at what I do.

4 years it’s been since I joined Microsoft and it feels like it were only yesterday when I wandered the corridors of the humongous campus for the first time. Days bled off into years. I have seen people come. I have seen people leave. Life moves on. Everyone is replaceable.

Continue reading Life of a Microsoft Engineer

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

Mentions:

  1. Find a pair with the given difference
  2. Sliding Window Maximum (Maximum of all subarrays of size k)
Copyright © 2017, Aashish Barnwal,  All rights reserved.
Read more
Social media & sharing icons powered by UltimatelySocial
Facebook
LinkedIn
SOCIALICON
Instagram
YouTube