How to Remove Entry (key/value) from HashMap while Iterating? Example Tutorial

Can you remove a key while iterating over HashMap in Java? This is one of the interesting interview questions as well as a common problem Java developer face while writing code using HashMap. Some programmer will say No, you cannot remove elements from HashMap while iterating over it. This will fail fast and throw concurrent modification exception. They are right but not completely. It's true that the iterator of HashMap is a fail-fast iterator but you can still remove elements from HashMap while iterating by using Iterator's remove() method. This is the same technique which we have used in past to remove elements while iterating over a List in Java. The key here is not to use the remove() method from Map or List interface to avoid java.util.ConcurrentModfiicationException in Java.

39 Java J2EE Support Engineer Interview Questions with Answers

I have shared many posts about Java interview question in the past but nothing, particularly for support engineer perspective. Since there are a lot of L1 and L2 support job exists in BFSI (Banking, Finance, and Insurance Industry) and they are also for the longer term, I decided to write this post. When you go for a support engineer role, especially for Java application be it to core Java or Java EE application, Interviewer expects you know basics of Java and can start/stop the application, see log files, alert developers, and other aspects of the support e.g. opening conference bridge to solve production issues, communicating to stakeholders, and involving right peoples. In this article, I will share questions to help with technical aspects e.g. the essential skills you need to clear a support engineer interview.

5 Difference between an array and linked list in Java

The difference between an array and linked list is one of the frequently asked data structure and algorithm interview question and you might have seen it before on your telephonic or face-to-face interview. It is also very popular question during practical exams on Computer Science degree courses e.g. B.E. and B.Tech. It's very simple and easy to answer but you just can't afford to miss this question on an interview. Both array and linked list are two of the most popular and fundamental data structure in Computer Science and Programming, and Java supports both of them. One of the traits of a good programmer is extensive knowledge of data structure and algorithm and that's why it's very important for you to learn the difference between array and linked list data structure and understand when to use an array over linked list and vice-versa. Though this discussion is valid from C/C++ and other programming language perspective, I'll give you examples and explanation in Java.

Can you make a class Static in Java?

This is one of the tricky questions in Java because there is no straight forward Yes and No answer here. You cannot make a top level class static in Java but Yes, you can make a nested class static in Java. In fact, it is even advised (see Effective Java) to prefer a nested static class in Java than normal inner classes. Now, the question comes what is a top level class and what is a nested class in Java? Well, you can declare multiple classes in a single Java source file. A class is said to be top level if it is not inside any other class and a class which is inside another class is known as nested class. You can create nested class inside another top level or another nested class in Java. This is the class which can be static in Java.

Counting Sort in Java - Example

The Counting sort algorithm, like Radix sort and bucket sort, is an integer based algorithm (i.e. the values of the input array are assumed to be integers). Hence counting sort is among the fastest sorting algorithms around, in theory. It is also one of the few linear sorting algorithm or O(n) sorting algorithm. It's quite common in Java interviews nowadays to ask, whether do you know any O(n) sorting algorithm or not. If you face this question in future, you can mention Radix sort, bucket sort, or counting sort algorithms.  How does counting sort algorithm works? Well, counting sort creates a bucket for each value and keep a counter in each bucket. Then each time a value is encountered in the input collection,  the appropriate counter is incremented.

99 Angular JS Interview Questions for Web Developers

The AngularJS is one of the popular JavaScript frameworks, I think most popular after jQuery, with the core goal of simplification. It allows building dynamic, single page web apps (SPAs) using JavaScript and supports the Model View Controller (MVC) programming structure. It has used widely and even big companies like Google, Virgin America, and HBO are using Angular JS to build their site. The demand for web developers is on all time high and there is a huge demand for developers who understand modern JavaScript frameworks e.g. Angular JS, jQuery, Facebook's React JS etc. The Angular JS is Open-source, front-end JavaScript framework which is developed by Google, it mainly competes with Facebook's ReactJS framework.

What is the use of DispatcherServlet in Spring MVC? Interview Question

How DispatcherServlet works internally in Spring MVC or What is the role of DispatcherServlet in Spring is some of the frequently asked Spring MVC Interview Question. You might have seen them already during your Java web development interview. In this article, I'll answer these question by explaining What is DispatcherServlet and its importance in Spring MVC. The DispatcherServlet is one of the important components of Spring MVC web framework and acts as a Front Controller. Similar to other Java web framework, Spring MVC also uses a front controller to receive all incoming request and delegates to other components for further processing e.g. Spring MVC controllers which are annotated using @Controller annotation and ViewResolvers e.g InternalResourceViewResolver class.

Difference between Correlated and Non-Correlated Subquery in SQL

The correlated subquery is one of the tricky concepts of SQL. It's similar to recursion in programming which many programmers struggle to understand, but like recursion, it also offers the unique capability to solve many SQL query based problems e.g. second highest salary problem where you need to compare one row of the table to another row. It gives you a different kind of power. The main difference between a regular, non-correlated and correlated subquery in SQL is in their working, a regular subquery just run once and return a value or a set of values which is used by outer query, but correlated subquery runs for each row returned by the outer query because the output of the whole query is based upon comparing the data returned by one row to the all other rows of the table. That's why it is also very slow and generally avoided until you don't know any other way to solve the problem.

10 Books to Prepare Technical Programming/Coding Job Interviews

If you are preparing for a technical interview on software development sector and looking for some great books to boost your preparation, you have come to the right place. In this article, I am going to share some of the best programming/coding interview books to prepare well for any software development jobs. These books are enough to crack even the toughest of the job interviews at Google, Microsoft, or Amazon. They provide excellent coverage of all essential topics for programming job interviews e.g. data structure and algorithms, system design, algorithm design, computer science fundamentals, SQL, Linux, Java, Networking etc.

10 points about lambda expressions in Java 8

The Lambda expression is one of the important features of Java 8 but if you look from a developer's point of view, it is nothing but a way to pass code to a method in Java. Technically, it's an expression where you can define parameters and then the code which uses those parameters, similar to a method in Java, but you don't need to write boilerplate code e.g. method name, return type, argument type etc. Most of those details are inferred by compiler and JVM from the context in which lambda expression is used. Some of you question, why lambda expression was introduced in the first place? Is it just the replacement of Anonymous class? Well, the lambda expression is more than that because it also introduces functional programming in Java.

Now, Java has best of both world i.e. Object oriented programming and Functional programming which means you can write even more scalable and robust, mission critical application in Java.

10 points about final modifier in Java

Here are some important details about final modifier in Java:

1) The final is a modifier in Java, which can be applied to a variable, a method or a class.

2) When a final modifier is used with a class then the class cannot be extended further. This is one way to protect your class from being subclassed and often sensitive classes are made final due to security reason. This is also one of the reasons why String and wrapper classes are final in Java.

3) When the final keyword is used with a method that it cannot be overridden in Java, which means you cannot override the logic of the method in the subclass. This is also done to protect the original logic of method.

Top 10 REST API and RESTful Web Services Book for Java Web Developers - Part 1

In recent years, REST has become the standard style for developing web services, also known as RESTful Web Services. These web services take advantage of REST principles, which leverages all goodness of HTTP to provide scalable and robust web services. As a Java web developer, it's high time that you get familiar with the REST concepts and the REST style of developing web services in Java, also known as RESTful web services and nothing is better than to start with a good book. I often receive request about which book should I read to learn REST? or what are some best books to learn to develop RESTful Web services in Java etc? In this article, I will suggest some books which will teach you both designing a REST API and developing RESTful web services in Java.

Is it Possible to take Spring Certification without training course?

It wasn't possible until last month to take Spring certification without mandatory training course but from 10th May 2017 onwards, you can take Spring Certification without training course. Yes, you read it correctly, it's possible to become Spring certified developer without spending USD 3200 on mandatory Spring training e.g. Core Spring training or Spring Web Application Developer training. For years, Pivotal, company behind Spring framework ensured that a Java developer can only get Spring certification by first going to into a 4-day training run by Pivotal and its partner around the world. Even though training can be taken at classroom or online, the high cost of training was the main hindrance for Java developers who were interested in doing Spring certifications.