Jul 26, 2017

Walmart Labs Interview Experience (6 Years experience in Java Development Stack)

I applied in Walmart Labs through employee referral, next day got call from HR and asked me to brief about my work and how much I am interested in relocating Bangalore. He informed they will schedule interview (Telephonic) next week.Whole interview process took one week to complete - 2 Telephonic followed by 5 F2F discussion.

2 Telephonic Technical Discussion


1st Webex/Telephonic discussion (DS Questions)

  1. Find one triplet such that indexes are in increasing order so as values at index.
     http://www.geeksforgeeks.org/find-a-sorted-subsequence-of-size-3-in-linear-time/
    Follow up question to Optimize using one array since we have to find only one triplet not all. 
  2. Find all nodes at distance k from a target node.
    http://www.geeksforgeeks.org/print-nodes-distance-k-given-node-binary-tree/

2nd Webex/Telephonic discussion (DS and Design Questions)

  1. Design a stack such that it provides push(), pop() and min( ) is in O(1). Use only Stack not any other Data structure.http://www.geeksforgeeks.org/design-and-implement-special-stack-data-structure/
  2. Design a app for "Restaurant table booking" :
    - Database Design (Various tables involved) and how they are related (UML/ER Diagram)-
    - What are APIs need to be exposed at high level
    - Flow of application
    - More stress on booking efficiently and
    - Handling various scenarios like how to maintain empty & vacant seats for multi-storage  building of Hotels with tables. 
Received feedback by next day and was asked to come for F2F discussion.They provided flight tickets. It was one day event. Started early morning 6:00 AM from Hyderabad and came back Hyderabad by 11:30 PM. I had 5 F2F technical discussions at Walmart Labs office in Bangalore. 

5 F2F Technical Discussion

1st F2F discussion (Java/DS/Projects) :
  1. Project detailed discussion - In depth discussion of project I was working and my contribution.
    - Why this and that ?
    - Some other way to do ?
  2. Java Wrapper Class related question. What is importance of Wrapper class in Java ?
  3. Immutable class in Java and what is its significant in java ?
  4. Singleton class discussion and sample code.
    - Lazy and Early Initialization of Singleton
    - Double Checked locking sample code.
    - Holder pattern to create Singleton instance 
  5. Files with multiple lines -  two words passed as input. Find min distance between them
  6. Binary tree horizontal distance based question- print all nodes in sorted order of hd. i.e: Nodes at Horizontal distance: -3 -2 -1 0 1 2 3 (Used TreeHashmap instead of HashMap)
    http://www.geeksforgeeks.org/print-binary-tree-vertical-order-set-2/
2nd F2F discussion (DS/Resume scanning) 
  1. Write sample code to generate all permutation of a given string.
    - Idea was to do iteration of all recursion and 
    makes sure no mugged up.
    http://www.geeksforgeeks.org/write-a-c-program-to-print-all-permutations-of-a-given-string/
  2. Find Longest palindrome in a string - Brute force solution to DP solution.
    http://www.geeksforgeeks.org/longest-palindrome-substring-set-1/
  3. Resume scanning understand where I have used which technologies
3rd F2F discussion (Java/DS) 
  1. Brief overview of  project I am working on and some questions related to it. I mentioned, I have written parser for SQL Server using javacc and it uses Tree DS for iteration of nodes. Next question from DS.  
  2. Find max sum at given level in given binary tree. (Level order traversal) 
  3. Find sum of all nodes at given Horizontal distance. Display in descending order(HD: 4 3 2 1 0 -1 -2 ...) 
  4. Regex implementation - match test or te*t or t?*t
    http://www.geeksforgeeks.org/wildcard-pattern-matching/
  5. Java memory model changes in Java 8 - metaspace concept. What's its benefit ?
    https://stackoverflow.com/questions/27131165/what-is-the-difference-between-permgen-and-metaspace
  6. What is Weak Reference - I was not good with answer for this question.
    https://docs.oracle.com/javase/7/docs/api/java/lang/ref/WeakReference.html
  7. What are other technology I have worked and where.
    - Spring AOP - Duck for me. Not worked with Spring 
  8. Design pattern I have used and where. Also what are DP I know. 
  9. Project which have done with good effort or some situation like this.
  10. Java provides some security mechanism to prevent attack via reflection- I could not answer properly. He was referring my blog, since I have written how to break singleton using Reflection. 
4th F2F discussion (Design / Problem solving) 
  1. Project discussion and my contribution to it.
  2. Design a inventory system.
    - High level system design considering scalability and performance.
    - Discussion of distributed cache and how it's used.
    - Significance of Load balancer and its usages.
    - Database design,
    - How to achieve database abstraction (Today Relational DB, tomorrow may be NOSQL). 
  3. How to handle large volume traffic request ? 
  4. Some questions related to thread dump and profiling. 
  5. A problem to solve - one XML is given with order nodes. Display sorted nodes based on id followed by order name.- I gave brute force solution.
    Restriction imposed : Not to use collection API for sort and No comprator. 
5th F2F discussion (Design / Distributed systems round/Abstract Questions) 
  1. Project where you have worked makes you feel proud and follow up question regarding effort and code lines.
  2. Design a multi-threaded system which handles failure request, failure requests are updated in database.
    - My solution was to find hashcode of time-stamp of record and distribute failed record to multiple threads, a thread pool is maintained for specified number of thread.
  3. Next question what about if multiple servers are in picture - how to send request to handle by multiple server thread pool .
    -I suggested to use a load balancer and does pull request - read record from db and send to multiple server so not same record sent to two server.
  4. What is Implicit and explicit locking. How manual works for threads? Interfaces and  Class used for implementing explicit locking. 
  5. Design of distributed locking.
    - I suggested file based locking mechanism, jvm to jvm communication.
    - He asked what about db based locking. Could not explain properly. 
  6. How to design a system such that - one type(kind/somePK) of data is always updated in sequence no dirty update.
    - I suggested map-reduce approach.
    - Time-stamp based approach.
Ahhhhh !!! Finally, Time to leave. Exhausted !!
Location: Hyderabad, Telangana, India

37 comments:

  1. Replies
    1. Great Article android based projects

      Java Training in Chennai Project Center in Chennai Java Training in Chennai projects for cse The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training Project Centers in Chennai

      Delete
  2. This is an awesome post. Really very informative and creative contents.
    ios app Devlopment company in chennai

    ReplyDelete
  3. Also known to come with crucial offerings for its sensible, down-to-earth and important clients,Call Girls in Kolkatareally means in fulfilling their lives with cheerful moments to make love in concern to ensure them live their lives in abetter way. Check our other Services...
    Call Girls in Kolkata
    Call Girls in Kolkata
    Call Girls in Kolkata
    Call Girls in Kolkata
    Call Girls in Kubernagar, Ahmedabad
    Call Girls in Loha mandi, Agra
    Call Girls in Lucknow

    ReplyDelete
  4. I need to thank you for this very good read and i have bookmarked to check out new things from your post. Thank you very much for sharing such a useful article and will definitely saved and revisit your site.
    Data Science Course

    ReplyDelete
  5. Your site is truly cool and this is an extraordinary moving article and If it's not too much trouble share more like that. Thank You..
    Digital Marketing Course in Hyderabad

    ReplyDelete
  6. Thank a lot. You have done excellent job. I enjoyed your blog . Nice efforts
    Data Science Certification in Hyderabad

    ReplyDelete
  7. Wow, happy to see this awesome post. I hope this think help any newbie for their awesome work and by the way thanks for share this awesomeness, i thought this was a pretty interesting read when it comes to this topic. Thank you..
    Artificial Intelligence Course

    ReplyDelete
  8. WOW just what I was searching for. Came here by searching
    for snow online

    My homepage: 휴게텔

    ReplyDelete
  9. Excellent Blog! I would like to thank you for the efforts you have made in writing this post. Gained lots of knowledge.
    Data Analytics Course

    ReplyDelete
  10. Awesome article. I enjoyed reading your articles. this can be really a good scan for me. wanting forward to reading new articles. maintain the nice work!
    Data Science Courses in Bangalore

    ReplyDelete
  11. What an incredible message this is. Truly one of the best posts I have ever seen in my life. Wow, keep it up.
    AI Courses in Bangalore

    ReplyDelete
  12. I am sure it will help many people. Keep up the good work. It's very compelling and I enjoyed browsing the entire blog.
    Business Analytics Course in Bangalore

    ReplyDelete
  13. I enjoyed reading the post. Thanks for the awesome post.
    Best Web development company in Hyderabad

    ReplyDelete
  14. Very good article! We will be linking to this great
    content on our site. Keep up the good writing.

    Feel free to visit my page -부산오피

    ReplyDelete
  15. Wonderful post with amazing article. This post was very well written, and it also contains a lot of useful facts 온라인카지노
    (mm)

    ReplyDelete
  16. This is very unique post. It really helped me. Thanks for sharing with us.
    hyderabad tourism
    hyderabad sightseeing

    ReplyDelete
  17. Nice Post thank you very much for sharing such a useful information and will definitely saved and revisit your site and i have bookmarked to check out new things frm your post.
    Data Science Course

    ReplyDelete
  18. Thanks Your post is so cool and this is an extraordinary moving article and If it's not too much trouble share more like that.
    Digital Marketing Course in Hyderabad

    ReplyDelete
  19. You have done excellent job Thanks a lot and I enjoyed your blog. Great Post.
    Data Science Certification in Hyderabad

    ReplyDelete
  20. Great post happy to see this. I thought this was a pretty interesting read when it comes to this topic Information. Thanks..
    Artificial Intelligence Course

    ReplyDelete
  21. A good blog always contains new and exciting information and as I read it I felt that this blog really has all of these qualities that make a blog.
    Data Science Institutes in Bangalore

    ReplyDelete
  22. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great work thank you.
    Cloud Computing Training in Bangalore

    ReplyDelete
  23. I am sure it will help many people. Keep up the good work. It's very compelling and I enjoyed browsing the entire blog.
    Business Analytics Course in Bangalore

    ReplyDelete
  24. Superb Information and really appreciated with it and this is fine to read and valuable. I like it.
    Digital Marketing Course fees in Hyderabad

    ReplyDelete
  25. Excellent work done by you once again here and this is just the reason why I’ve always liked your work with amazing writing skills and you display them in every article. Keep it going!
    Data Analytics Courses in Hyderabad

    ReplyDelete
  26. Very informative Blog! There is so much information here that can help thank you for sharing.
    Data Analytics Training in Bangalore

    ReplyDelete
  27. I got to this amazing site not long ago. I actually captured with the piece of resources you have got here. Thanks for making such wonderful blog page.
    Data Science Course in Ahmedabad

    ReplyDelete
  28. I am here for the first time. I found this blog and found it really useful and it helped me a lot, thank you.
    Data Analytics Training in Bangalore

    ReplyDelete
  29. Interesting post. which i wondered about this issue so thanks for posting and very good article which is a really very nice and useful article. Thank you
    Data Science Course in Noida

    ReplyDelete
  30. Nice post, you give readers a lot to think about and I appreciate that kind of writing.
    Data Science Course Fees

    ReplyDelete
  31. I want to thank you for your efforts in writing this article. The information provided was very useful.
    Data Science Certification Bangalore

    ReplyDelete