Thursday, July 25, 2024

Java Interview Questions For Technical Lead

Don't Miss

Q11 What Is Encapsulation In Java

Java technical Lead Interview Question and Answers

Encapsulation is a mechanism where you bind your data and code together as a single unit. Here, the data is hidden from the outer world and can be accessed only via current class methods. This helps in protecting the data from any unnecessary modification. We can achieve encapsulation in Java by:

  • Providing public setter and getter methods to modify and view the values of the variables.

How Do You Make This Code Print 05 Instead Of 0

This code:

finaldouble d = 1 / 2 System.out.println 

prints 0. Why? How do you make this code print 0.5 instead?

The problem here is that this expression:

1 / 2

has integer literals on both sides of the operator: 1 and 2. As a consequence, an integer division will be performed, and the result of 1 divided by 2 in an integer division is 0.

In order for the result to be a double as expected, at least one operand of the operation needs to be a double. For instance:

finaldouble d = 1 / 2.0 
finaldouble d = 1.0 / 2 

Core Java Interview Questions For Senior Developers And Tech Lead

Hashtable and ConcurrentHashMap4. What is CountDownLatch in Java?5. What is CyclicBarrier in Java?6. What is the difference between CountDownLatch and CyclicBarrier in Java?CountDownLatch in JavaDifference between CountDowntLatch and CyclicBarrier in Java8. What is deadLock in Java? Write code to avoid deadlock in Java?how to avoid deadlock in JavaWhat is a race condition in JavaOutOfMemoryError in PermGen or MetaSpace mens

Read Also: How To Thank An Employer For An Interview

Contiguous Memory Locations Are Usually Used For Storing Actual Values In An Array But Not In Arraylist Explain

In the case of ArrayList, data storing in the form of primitive data types is not possible. The data members/objects present in the ArrayList have references to the objects which are located at various sites in the memory. Thus, storing of actual objects or non-primitive data types takes place in various memory locations.

However, the same does not apply to the arrays. Object or primitive type values can be stored in arrays in contiguous memory locations, hence every element does not require any reference to the next element.

Question : What Is The Difference Between Factory And Abstract Factory Pattern

Fun Practice and Test: Tough Java Interview Questions

Answer: Abstract Factory provides one more level of abstraction. Consider different factories each extended from an Abstract Factory and responsible for the creation of different hierarchies of objects based on the type of factory. E.g., AbstractFactory extended by AutomobileFactory, UserFactory, RoleFactory, etc. Each factory would be responsible for the creation of objects in that genre.

If you want to learn more about the Abstract Factory design pattern, then I suggest you check out the Design Pattern in Java course, which provides excellent, real-world examples to understand patterns better.

Here is the UML diagram of the factory and abstract factory pattern:

If you need more choices, then you can also check out my list of Top 5 Java Design Pattern courses.

Question 9: What is Singleton? is it better to make the whole method synchronized or only critical section synchronized? Singleton in Java is a class with just one instance in the entire Java application, for example, java.lang.Runtime is a Singleton class.

Creating Singleton was tricky before Java 4, but once Java 5 introduced Enum, its straightforward.

You can see my article How to create thread-safe Singleton in Java for more details on writing Singleton using the enum and double-checked locking, which is the purpose of this Java interview question.

The second method involves using entrySet and iterating over them either by applying for each loop or while with Iterator.hasNext method.

Don’t Miss: How To Write A Letter After An Interview

Can The Static Methods Be Overridden

  • No! Declaration of static methods having the same signature can be done in the subclass but run time polymorphism can not take place in such cases.
  • Overriding or dynamic polymorphism occurs during the runtime, but the static methods are loaded and looked up at the compile time statically. Hence, these methods cant be overridden.

Why Is It Said That The Length Method Of String Class Doesn’t Return Accurate Results

  • The length method returns the number of Unicode units of the String. Let’s understand what Unicode units are and what is the confusion below.
  • We know that Java uses UTF-16 for String representation. With this Unicode, we need to understand the below two Unicode related terms:
  • Code Point: This represents an integer denoting a character in the code space.
  • Code Unit: This is a bit sequence used for encoding the code points. In order to do this, one or more units might be required for representing a code point.
  • Under the UTF-16 scheme, the code points were divided logically into 17 planes and the first plane was called the Basic Multilingual Plane . The BMP has classic characters – U+0000 to U+FFFF. The rest of the characters- U+10000 to U+10FFFF were termed as the supplementary characters as they were contained in the remaining planes.
  • The code points from the first plane are encoded using one 16-bit code unit
  • The code points from the remaining planes are encoded using two code units.
  • Now if a string contained supplementary characters, the length function would count that as 2 units and the result of the length function would not be as per what is expected.

    In other words, if there is 1 supplementary character of 2 units, the length of that SINGLE character is considered to be TWO – Notice the inaccuracy here? As per the java documentation, it is expected, but as per the real logic, it is inaccurate.

    Recommended Reading: What Questions To Prepare For An Interview

    How Do You Find If Your Java Application Has A Deadlock

    The Deadlock in Java is a situation in which two threads are waiting for each other to finish the process and release the lock. Deadlock detection is a complicated process. Usually, we need to restart the applications, but sometimes we may lose our work. So to avoid this problem, we can use some Deadlock detector classes in Java. One of the most used classes to detect the Deadlock is ThreadMXBean class.

    What Is The Problem With This Code:

    Technical/Tech Lead Java Interview Question and Answers – Session2
    final bytes = someString.getBytes 

    There are, in fact, two problems:

    • the code relies on the default Charset of the JVM
    • it supposes that this default Charset can handle all characters.

    While the second problem is rarely a concern, the first certainly is a concern.

    For instance, in most Windows installations, the default charset is CP1252 but on Linux installations, the default charset will be UTF-8.

    As such, such a simple string as é will give a different result for this operation depending on whether this code is run on Windows or Linux.

    The solution is to always specify a Charset, as in, for instance:

    final byte bytes = someString.getBytes 

    The what is the problem with this code? question is one of the most popular Java interview questions, but its not necessarily going to be this one above, of course. Be prepared to do some detective work to identify the issue.

    Also, keep in mind: while the problem may be exception handling, method overloading, an access specifier issue, or something else, it could also be nothing at all! This is one of those trick Java interview questions where the answer will rely on your gut that everything is perfect with the code already.

    Don’t Miss: Free Online Interview And Interrogation Courses

    Is This Program Giving A Compile

    abstractfinalclassInterviewBit4.classScalarAcademyextendsInterviewBit8. }9.classScalarTopicsextendsScalarAcademy13. }publicclassMain}

    The above program will give a compile-time error. The compiler will throw 2 errors in this.

    It is because abstract classes are incomplete classes that need to be inherited for making their concrete classes. And on the other hand, the final keywords in class are used for avoiding inheritance. So these combinations are not allowed in java.

    Q100 Whats The Order Of Call Of Constructors In Inheritance

    Ans: In case of inheritance, when a new object of a derived class is created, first the constructor of the super class is invoked and then the constructor of the derived class is invoked.

    Prep Up For your Job Interview!!! Go through Java Tutorial to be better prepared.

    This detailed Java Mock Test Quiz will help you to clear the doubts about Java interview questions and will also help you to crack the interview.

    These interview questions will also help in your viva

    You May Like: How To Prepare For Hr Manager Interview

    What Is The Use Of System Class

    Java System Class is one of the core classes. One of the easiest ways to log information for debugging is System.out.print method.

    System class is final so that we canât subclass and override its behavior through inheritance. System class doesnât provide any public constructors, so we canât instantiate this class and thatâs why all of its methods are static.

    Some of the utility methods of System class are for array copy, get the current time, reading environment variables. Read more at Java System Class.

    Also Check: What Questions Do You Get Asked In An Interview

    Tech Lead Interview Questions

    Buggy Bread

    The Indeed Editorial Team comprises a diverse and talented team of writers, researchers and subject matter experts equipped with Indeed’s data and insights to deliver useful tips to help guide your career journey.

    When hiring for a technical lead position, employers are looking for someone with a strong technical and leadership background. Show employers that you are qualified for this type of role by preparing for your interview. Many employers ask similar tech lead interview questions to get a better idea of your skills, background and experience in this field. In this article, we share 35 common tech lead interview questions and provide a few sample answers.

    Related:How to Prepare for a Technical Interview

    Read Also: What To Wear For An Interview Female 2021

    Why Is The Main Method Static In Java

    The main method is always static because static members are those methods that belong to the classes, not to an individual object. So if the main method will not be static then for every object, It is available. And that is not acceptable by JVM. JVM calls the main method based on the class name itself. Not by creating the object.

    Because there must be only 1 main method in the java program as the execution starts from the main method. So for this reason the main method is static.

    What Are The Advantages Of Hibernate Over Jdbc

    Some of the important advantages of Hibernate framework over JDBC are:

  • Hibernate removes a lot of boiler-plate code that comes with JDBC API, the code looks cleaner and readable.
  • Hibernate supports inheritance, associations, and collections. These features are not present with JDBC API.
  • Hibernate implicitly provides transaction management, in fact, most of the queries cant be executed outside transaction. In JDBC API, we need to write code for transaction management using commit and rollback.
  • JDBC API throws SQLException that is a checked exception, so we need to write a lot of try-catch block code. Most of the times its redundant in every JDBC call and used for transaction management. Hibernate wraps JDBC exceptions and throw JDBCException or HibernateException un-checked exception, so we dont need to write code to handle it. Hibernate built-in transaction management removes the usage of try-catch blocks.
  • Hibernate Query Language is more object-oriented and close to Java programming language. For JDBC, we need to write native SQL queries.
  • Hibernate supports caching that is better for performance, JDBC queries are not cached hence performance is low.
  • Hibernate provides option through which we can create database tables too, for JDBC tables must exist in the database.
  • Hibernate supports JPA annotations, so the code is independent of the implementation and easily replaceable with other ORM tools. JDBC code is very tightly coupled with the application.
  • Also Check: How To Interview For A Sales Job

    First Things First: Select Your Job Requirements

    Ultimately, an interview is about finding someone capable of producing the Java code you need while working effectively with your team. To do that, you need to figure out your unique job requirements.

    Some example requirements include:

    • Programming skills E.g. Object-Oriented Design
    • Java-specific skills
    • Design skills Performance optimization, building scalable applications, concurrency
    • Communication skills Discussing problems and constraints
    • Being a self-starter if theyll have to figure out solutions by themselves

    Avoid making a shopping list of your perfect Java developer. Instead, focus on what your candidate will really be doing day-to-day. You should keep your requirements list as short as possible. Cut anything they can do without or learn on the job.

    With clearly stated requirements, youll be able to choose the right Java coding interview questions and have a much better idea of what kinds of responses you are looking for.

    What Does The Term Method Reference Mean In The Context Of Java 8

    Cognizant-Selenium:Java,QA Lead Interview Question& Answers||7-10 Years Experience||Technical-PART1

    Method reference is a Java 8 construct used to reference a method without having to invoke it. It is a compact method of Lambda expression.

    Now that we know basic java 8 interview questions, lets check the intermediate level questions.

    Get a firm foundation in Java, the most commonly used programming language in software development with the Java Certification Training Course.

    Also Check: How To Prepare For Zoom Interview

    Explain The Difference Between Path And Classpath

    The Path is used to define the executables files, where the system can find them, whereas the classpath is used to specify the location.

    In Java, we define the path variable to set the path for all Java tools like javac.exe, java.exe, javadoc.exe, and so on, and the classpath is used to set the path for Java classes.

    What Is The Thread Dump Of Java Process How Do You Take It

    A Thread dump is a state of all the threads presented in a Java process at the moment. Each thread’s state is available with a stack trace. It is useful for diagnosing thread activity problems. Usually, they are written in plain text, so we can save the data of a thread data in a file and analyze them later. There are different tools available in Java, such as jstack and JMC, to take the Thread dump of a process.

    You May Like: Best Way To Conduct An Interview

    Write A Function To Detect If Two Strings Are Anagrams

    This is my go-to first interview question. It helps me gauge a candidates ability to understand a problem and write an algorithm to solve it.

    If someone has not solved the problem before, I expect to see some code with loops and if/thens. Maybe some HashMaps. The things I look for are the ability to break down the problem to see what you need to check, what the edge cases are, and whether the code meets those criteria.

    The naive solution is often to loop through the letters of the first string and see if theyre all in the second string. The next thing to look for is that the candidate should also do that in reverse too ? The next thing to look for is, what about strings with duplicate letters, like VASES?

    If you can realize that these are all required and create a functional, non-ridiculous solution, I am happy.

    Of course, one can solve it trivially by sorting both strings and comparing them. If someone catches this right away, usually they have seen the problem before. But thats a good sign that someone cares enough to do prep work. Then we can tackle a harder problem.

    publicstaticbooleanisAcronym  else     }// Compare counts with characters in s2for   i++)  else     }// Check all letters matchedfor ) returntrue }

    The details of the implementation are not important whats important is someone understanding what they need to do, and then understanding why their solution works or doesnt work. If you can demonstrate this, youre on the right track.

    Q17 What Are The Important Methods Of Java Exception Class

    10 Advanced Core Java Interview questions for Experienced Programmers ...

    Methods are defined in the base class Throwable. Some of the important methods of Java exception class are stated below.

  • String getMessage This method returns the message String about the exception. The message can be provided through its constructor.
  • public StackTraceElement getStackTrace This method returns an array containing each element on the stack trace. The element at index 0 represents the top of the call stack whereas the last element in the array represents the method at the bottom of the call stack.
  • Synchronized Throwable getCause This method returns the cause of the exception or null id as represented by a Throwable object.

  • String toString This method returns the information in String format. The returned String contains the name of Throwable class and localized message.
  • void printStackTrace This method prints the stack trace information to the standard error stream.
  • Read Also: Top 10 Coding Interview Questions

    Q9 What Are The Differences Between Throw And Throws

    throw keyword
    Throw is used to explicitly throw an exception. Throws is used to declare an exception.
    Checked exceptions can not be propagated with throw only. Checked exception can be propagated with throws.
    Throw is followed by an instance. Throws is followed by class.
    Throw is used within the method. Throws is used with the method signature.
    You cannot throw multiple exception You can declare multiple exception e.g. public void methodthrows IOException,SQLException.

    In case you are facing any challenges with these java interview questions, please comment on your problems in the section below.

    What Is An Intent

    An intent is a messaging object that is used to request an action from other components of an application. It can also be used to launch an activity, send SMS, send an email, display a web page, etc.

    It shows notification messages to the user from within an Android-enabled device. It alerts the user of a particular state that occurred. There are two types of intents in Android:

    • Implicit Intent- Used to invoke the system components.
    • Explicit Intent- Used to invoke the activity class.

    Also Check: How To Prepare For A Nursing Job Interview

    More articles

    Popular Articles