Goldman Sachs Java Interview Questions

Upasana | November 22, 2020 | 4 min read | 3,022 views | investment banking


Core Java Questions

  • What is difference between JDK, JRE, JVM?

  • How will you implement multiplication for very big numbers without using Java inbuilt classes?

  • How will you implement your own hashmap in Java? How will you handle collision of keys? Basically interviewer wants to know internals of a hashing data structure.

  • What are the main interfaces in Java Collections framework? What is difference between Set and List?

  • Why strings are immutable? how many objects will be created in String temp = "A" + "B" + "C" ; explain your answer in detail. Hint- Role of Immutable Objects in writing thread safe scalable applications.

  • Differences between Arrays and Linked Lists. In which situation, you would choose one over the other?

  • Concept of OOPS : Encapsulation, Data Hiding, Abstraction, Polymorphism etc.

Coding Problems

  • There is a String array String[] words = {"hello", "world", "HELLO", WORLD"}; How will you print output like hello-2, world-2 i.e. word followed by its count ignoring the case of the words in the input Array?

  • Given a string check if the string is palindrome or not?

  • There is a array of words String[] words = {"abc","bca", "cab", "cba", "def", …​} etc. So if given an input "cab", your program should print all the words that contains 'c', 'a' and 'b' i.e. "bca", "abc", "cba", etc. How will you achieve that? Anagrams example?

  • Given an input string, write a function that returns the Run Length Encoded string for the input string. For example, if the input string is “yyyybbbbdexxxxxxx”, then the function should return “y4b4dex7″.

  • Let’s say I gave you a long String and I wanted you to tell me the most common word in that String. How would you do that?

    • follow-up: OK, how would you estimate the size and time complexity of this solution? How would you estimate the ACTUAL size usage? (Hint: how many words are in the English language? Would having a dictionary in front of you help?)

    • follow-up #2: OK, how about if I gave you the entire works of Alexandre Dumas, one of the most prolific authors in history. How would your solution work? How could you change it to solve this more specific problem?

    • follow-up #3: Now, what if we wanted to find the most common PHRASE in his writings. (Upon clarification, the interviewer wouldn’t give a specific length, so I clarified to finding as long as a common 10 word phrase, because anything longer is unlikely.)

    • Hint - Find Top X occurring words in a very big file using Min-Heap and Hashtable.

  • How will you reverse a linked list in Java?

  • How will you find common ancestor of two given nodes A and B in a binary Tree?

  • How reverse key index helps in faster data reading and what is use case for this? Complexity of B tree index?

  • Implement queue using Stacks.

  • implement the queue using only 1 stack

Data structure and Algorithms

  • What is a Binary Search Tree?

  • Write a program to check whether a binary tree is BST or not.

  • In a client-server architecture, there are multiple requests from multiple clients to the server. The server should maintain the response times of all the requests in the previous hour. What data structure and algo will be used for this? Also, the average response time needs to be maintained and has to be retrieved in O(1).

  • Find minimum element in stack. Optimized solution is required.

  • Check if a linked list is palindrome or not

Performance

  • You have 5 data sources. There is a program which calls these data sources and returns a count value. You need to speedup this program. How do you do that? This is a sample code

    int count = getCount(ds1);
    if(count < 100 )
    count = count + getCount(ds2);
    if(count < 100)
    count = count + getCount(ds3);
    if(count < 100)
    count = count + getCount(ds4);
    if(count < 100)
    count = count + getCount(ds5);
    
    Hint - Interviewer must be looking for multi-threading. Fetch count from all sources in parallel. Bonus points: If machine has less than 5 cores (for 5 data sources), say 4 cores, prioritize so that first 4 cores get the highest priority. Not sure how to do this in code.

Design Problems

  • How would one design a multi format converter that supports reading data from multiple data sources(web service, local disk, etc.). The data from the sources can be in multiple formats. The reader for each format may be different and how does one serialize this abstract data to multiple formats like image, xml etc. New readers, writers and data sources can be added later during implementation.

    Hint: Design Patterns problem, look for java.io.* classes for example Reader, InputStream, etc. Decorator Design pattern. There are two variables here - 1. Multiple Datasources with common interface 2. Multiple formats with common interface. 9implementation can be provided later on. our APi should be coded over interface rather than implementation.

  • How will you design a connection pool in Java?

Testing

  • Different testing concepts. What is unit testing, integration testing, regression testing? What is the need for each one of them?

  • The testing discussion lead to environments discussion. I mentioned production and test environments in my answers. So they started discussing the need for so many environments for a same application.

  • If we give you a particular feature to add to an application, how will you do it? How will you document it, test it? How will you take it through different environments of the application?


Buy my ebook for complete question bank

Most of these questions has been answered in my eBook "Cracking the Core Java Interview" updated on June 2018, that you can buy from this link:

Buy from Shunya (DRM Free PDF download with updates)

Top articles in this category:
  1. Sapient Global Market Java Interview Questions and Coding Exercise
  2. Morgan Stanley Java Interview Questions
  3. Citibank Java developer interview questions
  4. UBS Java Interview Questions
  5. ION Trading Java Interview Questions
  6. Multi-threading Java Interview Questions for Investment Bank
  7. BlackRock Java Interview Questions

Recommended books for interview preparation:

Find more on this topic:
Buy interview books

Java & Microservices interview refresher for experienced developers.