Top 10 Java Questions and Answers to Ace Your Microsoft Interview

Top 10 Java Questions and Answers to Ace Your Microsoft Interview

Aiming for a career at Microsoft? Top 10 java questions and answers to ace your Microsoft interview

Aiming for a career at Microsoft is a worthy challenge given the company's excellent track record for technological innovation, generous compensation packages, and flexible work-life balance. Java questions for Microsoft interviews are mostly about data structures, algorithms, Oops concepts, etc. The interviewer never asks questions related to Java only. The interviewer can also ask questions from Arrays, LinkedLists, Stacks, Queues, Strings, Patterns, and Binary trees, etc. Are you looking for Java questions and answers for Microsoft interviews? You are at the right place; this article features the top 10 java questions and answers to ace your Microsoft interview.

Top 10 java questions and answers for Microsoft interview:

How can we check whether the Binary Tree is BST or not?

In order to check whether the Binary Tree is BST or not, we simply check whether the left child node is smaller than the current node or not. We also check whether the right child node is greater than the current node or not. For a BST Binary tree, the left child should have smaller, and the right child should have greater value from its parent note. It is one of the crucial Java questions for Microsoft interview.

How to find an element in a sorted array of infinite size?

In order to find an element from an infinite sorted array, we set the index at position 100. If the element which we need to find is less from the index number, perform the binary search for the last 100 items. Else we set the index at position 200. We set the index by 100 until the item is greater. It is one of the top 10 java questions and answers to ace your Microsoft interview.

How can we reverse a linked list of size n?

Each element of a linked list stores the address of its next element or node. In order to reverse a linked list, we need to store the address of the previous node in each node of the linked list. We can reverse the linked list by using recursion or by using iteration. We use the following steps to reverse a linked list:

  • We first store the head.next in a temporary pointer ptr
  • After that, we call the reverseLL(head.next) method
  • We store the pointer returned by the reverseLL(head.next) in a temporary variable temp
  • We set the next = head( ptr points to the last node of the reversed list in temp )
  • The temp variable points to the first node of the reversed linked list

Write an algorithm to build a tree from given Inorder and Preorder traversals.

  1. We first take an element from the Preorder traversal and increment the index variable for picking the next element in the next recursive call.
  2. From the picked element, we create a new tree node N.
  3. Now, we get the index of that picked element from the given Inorder and store it in variable pos.
  4. We call the constructTree() method for all the elements that are available before pos and create a tree as a left subtree of node N.
  5. We call the constructTree() method for all the elements that are available after pos and create a tree as a right subtree of node N.
  6. At last, we return node N

How can we determine whether a linked list contains a loop or cycle or not

We use two pointers, i.e., fast and slow at the time of iterating over the linked list. The slow and fast pointers move two and one nodes in each iteration, respectively. If the linked list contains a cycle, both pointers will meet at the same point during iteration. If both the pointers point to null, the linked list doesn't contain any loop or cycle in it.

What is double-checked locking in Singleton?

Double-checked locking of Singleton is a way to ensure that only a single instance of a Singleton class is created through an application life cycle. The double-checked locking means that the code checks for an existing instance of Singleton class twice with and without locking to double ensure that no more than one instance of Singleton gets created. It is one of the top 10 java questions and answers to ace your Microsoft interview.

What are the scenarios in which we use the transient variable in Java?

A transient variable is a special type of variable in Java that is initialized during de-serialization with its default value. At the time of Serialization, the value of the transient variable is not serialized. In order to prevent any object from being serialized, we use the transient variable. We can easily create a transient variable by using the transient keyword.

Explain volatile in Java.

In Java, volatile is a keyword that is intended to address variable visibility problems. It is another way of making a class thread-safe. The thread-safe means that multiple threads can use a method or a class instance without any problem. It is one of the top 10 java questions and answers to ace your Microsoft interview.

Can we override the private method in Java?

We cannot override the private methods because we cannot access the private methods in the same way as non-private methods. The method overriding is possible in the child class only, and we cannot access the private methods in the child class. It is one of the crucial Java questions and answers for Microsoft interview.

Give the name of any two methods which we can override for an Object to be used as the key in HashMap.

The equals() and the hashcode() are two methods that we can override for an object to be used as the key in HashMap. It is one of the top 10 java questions and answers to ace your Microsoft interview.

Related Stories

No stories found.
logo
Analytics Insight
www.analyticsinsight.net