Full Stack Developer (Java) Interview Preparation Guide
Download PDF

Full Stack Developer (Java) related Frequently Asked Questions by expert members with job experience as Full Stack Developer (Java). These questions and answers will help you strengthen your technical skills, prepare for the new job interview and quickly revise your concepts

43 Full Stack Developer (Java) Questions and Answers:

1 :: Tell me what is Bridge pattern?

Bridge pattern is used when we need to decouple an abstraction from its implementation so that the two can vary independently. This type of design pattern comes under structural pattern as this pattern decouples implementation class and abstract class by providing a bridge structure between them.

The bridge pattern is useful when both the class and what it does vary often. The class itself can be thought of as the abstraction and what the class can do as the implementation. The bridge pattern can also be thought of as two layers of abstraction.

2 :: Can you please explain what is CORS? How does it work?

Cross-origin resource sharing (CORS) is a mechanism that allows many resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated. It’s a mechanism supported in HTML5 that manages XMLHttpRequest access to a domain different.

CORS adds new HTTP headers that provide access to permitted origin domains. For HTTP methods other than GET (or POST with certain MIME types), the specification mandates that browsers first use an HTTP OPTIONS request header to solicit a list of supported (and available) methods from the server. The actual request can then be submitted. Servers can also notify clients whether “credentials” (including Cookies and HTTP Authentication data) should be sent with requests.

3 :: Tell me what is your favorite language and why?

Full Stack Web Developers work with a multitude of languages. Having just one loved coding language might be an alarm signal. Ideally, a candidate must have a few languages that he loves, preferably, some with which he can design the front end and others with which he can take care of the back end. A candidate should be able to demonstrate that well and remember to include the basic most used ones like HTML, CSS, Python etc.

4 :: Tell us are you aware of design patterns?

While answering this question you should show your ability to understand common errors that might creep in while creating web applications. If your knowledge is formal and deep, you must push the employer to gain confidence in the experience you possess in understanding a clean and readable code.

5 :: Explain me what Are The Latest Trends In Full Stack Web Development?

According to industry experts, a candidate who is passionate about full stack development should be aware of the following trends:

☛ The rise of Vue JS Functional, real-time web apps, progressive apps and mobile web development.
☛ Programming benefits from JavaScript improvements
☛ The emergence of more compatible extensions.

This question will help filter those candidates who are not keen on upskilling in technology. If you read blogs or books on web development or attend seminars/webinars on the same topics, don’t forget to mention it.

Displaying how up-to-date you are in the field will give the interviewer enough confidence to hire you.

6 :: Tell me how do you run a Java application on the command line and set the classpath with multiple jars?

Some people will be thinking “what!?” but I’ve met a lot of Java developers who’ve not run a Java application outside of an IDE for years.

java -cp /dev/myapp.jar:/dev/mydependency.jar com.codementor.MyApp

7 :: Can you write a function to detect if two strings are anagrams (for example, SAVE and VASE)?

This is my go-to first interview question. It helps me gauge a candidate’s 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/then’s. Maybe some HashMaps. The things I look for are 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 they’re all in the second string. The next thing to look for is, the candidate should also do that in reverse too (check string 1 for string 2’s letters)? The next thing to look for is, what about strings with duplicate letters, like VASES?

8 :: Tell me what's your favorite language, and why?

This is a good question to warm a candidate up before diving into more technical ones

9 :: Do you know a use case for Docker?

☛ Docker a low overhead way to run virtual machines on your local box or in the cloud. Although they're not strictly distinct machines, nor do they need to boot an OS, they give you many of those benefits.
☛ Docker can encapsulate legacy applications, allowing you to deploy them to servers that might not otherwise be easy to setup with older packages & software versions.
☛ Docker can be used to build test boxes, during your deploy process to facilitate continuous integration testing.
☛ Docker can be used to provision boxes in the cloud, and with swarm you can orchestrate clusters too.

10 :: Tell me what is the purpose of each of the HTTP request types when used with a RESTful web service?

The purpose of each of the HTTP request types when used with a RESTful web service is as follows:

☛ GET: Retrieves data from the server (should only retrieve data and should have no other effect).
☛ POST: Sends data to the server for a new entity. It is often used when uploading a file or submitting a completed web form.
☛ PUT: Similar to POST, but used to replace an existing entity.
☛ PATCH: Similar to PUT, but used to update only certain fields within an existing entity.
☛ DELETE: Removes data from the server.
☛ TRACE: Provides a means to test what a machine along the network path receives when a request is made. As such, it simply returns what was sent.
☛ OPTIONS: Allows a client to request information about the request methods supported by a service. The relevant response header is Allow and it simply lists the supported methods. (It can also be used to request information about the request methods supported for the server where the service resides by using a * wildcard in the URI.)
☛ HEAD: Same as the GET method for a resource, but returns only the response headers (i.e., with no entity-body).
☛ CONNECT: Primarily used to establish a network connection to a resource (usually via some proxy that can be requested to forward an HTTP request as TCP and maintain the connection). Once established, the response sends a 200 status code and a “Connection Established” message.