Wednesday, July 31, 2019

Top 15 Java Multithreading, Concurrency Interview Questions Answers asked in Investment banks

Multi-threading and concurrency questions are an essential part of any Java interview. If you are going for any Java interview on any Investment bank e.g. Barclays, Citibank, Morgan Stanley etc for Cash Equities Front Office Java Developer position, you can expect a lot of multi-threading interview questions on your way. Multi-threading and concurrency are favorite topics on Investment banking interviews,  especially on electronic trading development jobs and they grill candidate on many tricky java thread interview questions. They just want to ensure that the guy has solid knowledge of multi-threading and concurrent programming in Java because most of them are in the business of performance which provides them a competitive advantage and it's hard to write correct and robust concurrent code.

Tuesday, July 30, 2019

Thread, code and data - Story of a Multithreading Program in Java

There are certain things, which you don't learn on academics or training class, you develop those understanding after few years of work experience, and then you realize, it was very basic, how come I had missed that all those years. Understanding of how a multi-threaded Java program executes is one of such things. You definitely have heard about threads, how to start a thread, how to stop a thread, definitions like its independent path of execution, all funky libraries to deal with inter-thread communication, yet when it comes to debugging a multithreaded Java program, you struggle.

Monday, July 29, 2019

Why become a Certified Java Programmer? Does Oracle Certified Professional Earn more?

I have seen many Java programmers in doubt whether to go for Java certifications or not? Whether getting Java certified will help them to earn a better salary? or after becoming Java certified from Oracle will help them to get a Job. In this article, we will see what the benefits of getting Java certified are. I know higher income, better job prospects, and a better chance of promotion is at the top of the benefits of becoming a certified Java professional, but this certification provides much more value than that. Apart from all those tangible benefits, the most important thing is that you learn Java better, which help you everywhere like in your day job as well as on interviews.

5 Spring Framework Books Experienced Java Developers Should Read in 2019

The Spring framework has changed a lot in last a couple of years. We have seen significant releases for Spring, Spring Boot, and Spring Security. These new releases introduced several exciting features to meet the latest software development trends, e.g., reactive programming, support for Kotlin for developing Spring application, Spring WebFlux - a new framework to build non-blocking and reactive web application,  and many more. Since the software world is changing the and most of the development is happening on Cloud with Microservice architecture leading the way, it's high time that experienced Java developers should upgrade themselves.

Sunday, July 28, 2019

Top 5 Courses to Improve Email writing Skills for Programmers, IT Professionals, and Software Engineers

One of my readers emailed me a couple of days ago and asked If I could suggest something to improve his email writing skills? He says that he is very good at work and programming but sucks on writing emails and because of that he never gets the visibility he deserved, resulting in no promotion or career growth. This sounds me a very common problem, especially among programmers whose native language is not English, and who have never attended any business or email writing course. In fact, it was a problem with me as well but I slowly picked it up though I am still far behind with many people I know who have excellent email communication skills.

Saturday, July 27, 2019

5 Free iOS App Development Courses for Programmers (iPhone + iPad) - Best of Lot

If you are thinking to learn iOS App development i.e. developing games and application for Apple's iOS devices like iPhone and iPad and looking for some free courses then you have come to the right place. In this article, I am going to share five free courses to learn iOS App Development and become an iOS developer this year. This is the second article in my serious of articles about learning iOS and venturing into app development. In my last article, I have shared some of the best courses to learn Swift Programming language, Apple's own language to create iOS applications. It also allows you to create apps for MacOS and Linux as well.

Friday, July 26, 2019

How to limit number of concurrent session in a Java web application using Spring Security?

If you don't know, Spring security can limit the number of sessions a user can have in a Java web application. If you are developing a web application especially a secure web application in Java JEE then you must have come up with the requirement similar to many online banking portals have like only one session per user at a time or no concurrent session per user. If the user tries to open a new session then either an alert is shown or his previous session is closed. Even though you can also implement this functionality without using spring security but with Spring security, its just piece of cake with coffee :).  You just need to add a couple of lines of XML in your spring security configuration file and you are done. In order to implement this functionality, you can use the <concurrency-control> tag.

Tuesday, July 23, 2019

How to reverse a linked list in Java using Recursion and Iteration (Loop) - Example

This is one of the class coding problems from Programming job interviews. It may seem easy to reverse a linked list but when you go around doing the actual task, it's not that easy, especially for first-timers. There are a couple of algorithms exists to reverse a singly linked list in Java like you can use the three-pointers approach or solve this problem using a Stack, or simply using Recursion without the external stack. As I had pointed out on the earlier post about linked list, that reversing a linked list is one of the most popular linked list based data structure interview question. This means, you just can't afford to prepare this one, before going for any programming interview. Despite being so common, It's not easy to solve this problem on the fly.

3 Ways to convert String to Boolean in Java? Examples

You can convert a String object to Boolean object or boolean primitive by using the Boolean.valueOf() and Boolean.parseBoolean() method. The steps are similar rot converting to String to other data types e.g. String to Integer and String to Long. You can use valueOf() method to convert String to Boolean object and parseBoolean() method to convert given string to a boolean primitive value. Internally, valueOf() also uses parseBoolean() for parsing String but on top of that it also provides caching e.g. it can return Boolean.TRUE and Boolean.FALSE cached value for "true" and "false" string. 

Sunday, July 21, 2019

How to fix invalid target release: 1.7, 1.8, 1.9, or 1.10 Error in Maven Build

If you are building your Java project using Maven, maybe in Eclipse or from the command prompt by running mvn install and your build is failing with an error like "invalid target release: 1.7" or "invalid target release: 1.8" then you have come to the right place. In this article, I'll show you the reason why this error occurs and how you can deal with these errors even with higher Java version like Java 9, 10 installed on your machine, or maybe with Java 11 in the coming month. The root cause of the problem is that you have specified a higher Java version in your pom.xml file for Maven compiler plugin then what Maven knows in your system, and that's why it's saying invalid target release.

Saturday, July 20, 2019

Maven - 10 Things Java developer should know

The Apache Maven is an essential tool for Java developers. It makes their life easy by allowing them to create a Java project faster by using a standard directory structure. It also helps them to download project dependency automatically. Not only that, but Maven also download transitive dependencies which relieve Java developers from the big headache of keep check of different versions of dependent libraries. For example, if your application is dependent on Spring framework but Spring is dependent on Log4j then you also need to download the correct version of Log4j JAR files for Spring MVC framework, Maven does this automatically for you.

Friday, July 19, 2019

A Better way to write Complex SQL queries for Programmers

There is no doubt that writing code is more art than science, every coder cannot write beautiful code which is both readable and maintainable, even with experience. In general, coding improves with experience when you learn the art of coding e.g. favoring composition over inheritance or coding for interface than implementation, but only a few developers able to master these techniques.  Same applies to SQL queries. The way you structure your query, the way you write it goes a long way to communicate your intent to the fellow developer. When I see SQL queries on emails from multiple developers, I can see the stark difference in their writing style.

Top 5 Courses to Pass Azure Cloud Architecture Technologies Certification Exam - (AZ-300) Online Training Courses

The Azure cloud solutions from Microsoft is quickly becoming the go-to Cloud platform for many companies. While AWS leads the retail space and Google Cloud Platform is still in the middle, Microsoft's Azure has emerged as a winner by attracting both big and small companies into its Cloud platform. This means the demand of people familiar with Azure architecture and Azure Cloud products and services is rising and providing some of the excellent career opportunity for Developers and DevOps who are interested in Cloud Computing. It's also very rewarding, the average salary for Azure Solution Architect in silicon valley is around 145,000 USD which is highly competitive. It's one of the highest paying technology jobs.  In short, Azure is currently presenting a very good opportunity for senior developers.

Thursday, July 18, 2019

Top 10 Java 11 Certification Mock Tests and Practice Questions | (4 Free OCAJP 11 - 1Z0-815 and OCAPJP 816 Sample Questions)

The latest Java certification is now out, the Java 11 Certification. Ever since Java 9 and Java10 were out, programmers were speculating that what will happen to Java certification now? Will there is, be a new Java 9 certification or Java 10 certification? Will there be a new Java certification every 6 months, following the Java SE release cycle? Well, Thankfully, nothing of that sort happened; a new Java certification every six months would have been a crazy idea, not just for students and programmers but also to all the party involved, including Oracle itself.  Now the big question is what has been changed in Java 11 certification, and should you go for OCAJP 8 or OCAJP 11 certification?

Wednesday, July 17, 2019

Top 5 Java 8 Certifications Courses to Prepare OCAJP (1Z0-808) Exam Online

If you are preparing for Oracle Certified Java SE 8 Associate exam, also known as OCAJP 8 and OCPJP 8 with exam codes 1Z0-808 and looking for a decent online course to kick start with your preparation then you have come to the right place. In this article, I will share some of the best online courses to prepare for Java SE 8 certifications. Btw, first of all, configurations to make the right decision. If you are a Java developer then certifying for your skill will not only distinguish you from millions of other non-certified Java programmers but also improve your knowledge and understanding of Java SE 8. If you are looking for a job then this can help you to get a better job and if you are looking for a career growth e.g. to become senior Java developer, these certifications can help you to get a promotion.

Tuesday, July 16, 2019

Top 9 Java Programming Books - Best of lot, Must Read

These top Java programming books are some of the good books to learn Java and I would say some of them are simply best Java books ever published. Whenever a programmer starts learning Java programming language, the first question he asks is "Which book should I refer to learn Java?", or "What is the best book to learn Java for beginners?" or "Can you tell me some good books to learn Java?" .That itself says how important Java books are for programmers especially beginners.  Despite having so many free resources available in Java like tutorials, tips, blogs and code examples, Java books have their own place because of two reasons:
  • They are written by programmers who are authority in subject
  • They cover the subject with more details and explanation.

Sunday, July 14, 2019

Amazon Prime Day 2019 - Best Tech Deals - What Programmers and Tech People Can Buy?

Many of my friends and colleagues used to wait until November to buy books, gadgets, and other computer items to get the huge discount offered on Black Friday and Cyber Monday deals, but you don't need to wait that long. Amazon is bringing Black Friday to the summer with their annual Prime Day offers. The Amazon Prime day is nothing but a one-day (precisely one and half-day and this time full two-day) shopping extravaganza, where you will get huge discounts on thousands of Amazon products including books, games, gadgets, and other computer and electronics items. So, if you are looking to buy a new laptop, a new smartphone or some fitness gadgets and watch than this is an awesome opportunity. 

Saturday, July 13, 2019

Bucket Sort in Java with Example - How Algorithm Works

In recent years, one of the questions I have increasingly seen in programming job interviews is about constant time sorting algorithms like do you know any O(n) sorting algorithm? how do they work? When I first encountered this question, I had no idea whether we can sort in constant time because even some of the fastest sorting algorithms like QuickSort or MergeSort takes O(N log N) time for sorting on their average case. After some research, mainly by going through the classic CLRS book and this DS and Algorithms course by Tim Buchalka and Goran Lochert on Udemy, I come to know that there indeed are some constant time or linear time sorting algorithms like bucket sort, counting sort, and radix sort, which can sort an array in O(n) time but they work with only a special set of input.

Friday, July 12, 2019

2 Ways to setup LDAP Active Directory Authentication in Java - Spring Security Example Tutorial

The LDAP authentication is one of the most popular authentication mechanism around the world for enterprise application and Active directory (an LDAP implementation by Microsoft for Windows) is another widely used LDAP server. In many projects, we need to authenticate against active directory using LDAP by credentials provided in the login screen. Sometimes this simple task gets tricky because of various issues faced during implementation and integration and no standard way of doing LDAP authentication in a Java web application. Even though Java provides LDAP support but in this article, I will mostly talk about spring security because of it's my preferred Java framework for authentication, authorization, and security-related stuff.

Thursday, July 11, 2019

How to enable HTTP Basic Authentication in Spring Security using Java and XML Config

In the last article, I have shown you how to enable Spring security in Java application and today we'll talk about how to enable Basic HTTP authentication in your Java web application using Spring Security. I'll show you how to do that using both the Java configuration and XML configuration if you are using Spring Security 3.1 or lower version, but before that let's understand what is Http basic authentication and why do you need that? One of the most common ways to authenticate a user in a web application is by using form login like you provide a login page and user will enter his username and password for authentication. This works great for human users but sometimes there are situations where you can't use a login form for authentication.

Tuesday, July 9, 2019

10 Reasons to Learn Java Programming Language and Why Java is Best

Java is one of the best programming language created ever, and I am not saying this because I am a passionate Java developer, but Java has proved it in the last 20 years. Two decades is a big time for any Programming language, and Java has gained strength every passing day. Though there are times, when Java development slows down, but Java has responded well. Earlier with groundbreaking changes in the form of Enum, Generics, and Autoboxing in Java 5, performance improvement with Java 6, functional programming using the lambda expressions in Java 8, and Google's choice of language for Android apps development keeps Java as a front-line programming language.

Friday, July 5, 2019

Top 10 Data Science Courses and Certification to Learn Online in 2019 (Python and R) - Best of Lot

Data Science, Machine Learning, Deep Learning, and Artificial intelligence are really hot at this moment and offering a lucrative career to programmers with high pay and exciting work. It's a great opportunity for programmers who are willing to learn these new skills and upgrade themselves. It's also important from the job perspective because Robots and Bots are getting smarter day by day, thanks to these technologies and most likely will take over some of the jobs which many programmers do today. Hence, it's important for software engineers and developers to upgrade themselves with these skills. Programmers with these skills are also commanding significantly higher salaries as data science is revolutionizing the world around us. Machine learning specialist is one of the top paid technical jobs in the world. However, most developers and IT professionals are yet to learn these valuable set of skills.

Thursday, July 4, 2019

Top 10 Angular Tutorials and Courses for Web Developers - Best of Lot

Hello guys, if you are interested in learning the Angular framework, one of the best and most popular JavaScript frameworks for developing component-based Web GUI and looking for some awesome courses then you have come to the right place. In this article, I am going to share some of the best resources e.g. books, tutorials, and courses to learn the Angular framework, formerly known as Angular JS and now famous as Angular 2. It's backed by Google, hence you should not worry about it being out-dated and lose relevance in a couple of years. Any investment you made in learning Angular will pay you rich dividends in coming years.

Tuesday, July 2, 2019

Spring Framework Certification FAQ - Frequently asked Questions Answers for Java Developers

If you are a Java developer, working in Spring framework and thinking to become a certified Spring professional but couldn't to do it in the past due to expensive mandatory training provided by Pivotal and its partners then there is a good news for you. From 10th May 2017, Pivotal made the Spring Core training optional for appearing to Spring certification exam, which means, now, it's not mandatory to take Spring training for Spring certifications (see here). Similar to Oracle's Java certifications, you can become a Pivotal certified Spring Professional by just buying the exam vouchers and scheduling your exam online using examlocal.com from anywhere in the world.

Monday, July 1, 2019

Top 5 Online Courses to Learn Kotlin Programming language for Java and Android Developers

Hello All, you might have heard about Kotlin and how it's becoming the standard language to develop Android applications but it's much more than that. If you don't know Kotlin, it's a relatively new programming language that makes programming for Android and Java easy. Ever since Google announced Kotlin as the official language for Android Development, I have received a lot of queries from my readers should Java developer learn Kotlin now? or which one is better to start with Android development, Kotlin or Java? I have answered that question in my last article but I am still receiving a lot of queries about learning Kotlin and whether Java developer should Learn Kotlin or not?

How Spring MVC Makes Easy to Create RESTful Web Services in Java

REST has now become a standard way to develop web services and when it comes to Java, there are many frameworks and library available e.g. JAX-RS, Restlet, Jersey, RESTEasy, Apache CFX etc, but I encourage Java developers to use Spring framework to develop RESTful web services. But, some of you might ask, why use Spring Framework to develop RESTful web services in Java? What is the advantage and why it's better than other frameworks and libraries available out there? Well, the most important reason I think to use Spring for developing RESTful web service is that you can use your Spring MVC experience to develop RESTful web services.