Interview | Iris Software

Interview | Iris Software

The interview process for a Full Stack Developer in Java and React at Iris Software, with 5 years of experience.

Iris Software

Iris Software has been a trusted software engineering partner to several Fortune 500 companies for over three decades. We help clients realize the full potential of technology-enabled transformation by bringing together a unique blend of domain knowledge, best-of-breed technologies, and experience executing essential and critical application development engagements.


Our highly-experienced talent and right sized teams help develop core, complex, and mission-critical applications and solutions for leading enterprises across Capital Markets/Front office operations, Banking, Investment Management, Brokerage, Risk and Compliance, Insurance, Healthcare/Life Sciences, and Supply Chains/Logistics.


Organization

Founded: 1991
Headquarter: Edison, NJ, USA
Company Size: 1002 - 5000 Employees

Specialties: Application Development, Application Maintenance and Support, Testing and Quality Assurance, Mobile Applications Development, Cloud Solutions, Product Development, Professional Services, Software Engineering, Data & Analytics, and Intelligent Automation


via LinkedIn


ToC

Table of Contents

Background

I registered on Naukri.com and uploaded my resume there and at around 11:30 am, I got a call from the recruiter. She said she is a third-party recruiter for Iris, and it means that the Iris company has given the contract for recruiting Software Engineers to them.

via Wikipedia
Naukri.com is an Indian employment website which operates in India and the Middle East. It was founded in March 1997 by Sanjeev Bikhchandani as a division of Info Edge. It is the largest employment website in India.


Screening

After getting the call from the recruiter, they asked me some questions related to my work experience, package, and availability.

Discussion

  • How many years of IT industry experience do you have?
  • How many years of relevant experience do you have in React and Java?
  • How many years of experience do you have in Microservices, React.JS, MySQL, AWS, Kafka, and Java Spring Boot respectively?
  • Do you have any team lead experience?
  • If yes, then how many team members have you handled?
  • What is your notice period and how soon can you join?
  • What is your current salary package and what are you expecting?
  • Are you comfortable with working from the office (5 days a week)?

I was told that they would submit the details to the company and if Iris shortlists me, then I will get the further details via email which I have to acknowledge to start the interview process.

After some days, that third-party recruiter sent me the interview invite over Teams via email which happened virtually.


Interview

The interview started with a brief introduction followed by various questions related to Java, React and MySQL.

Java

I was asked a bunch of questions related to the Java programming language focused on its version 8 which introduces various APIs like lambda expressions, functional interfaces, streams, etc. Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture.The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities (such as reflection and runtime code modification) that are typically not available in traditional compiled languages.

via Wikipedia
Java was originally developed by James Gosling at Sun Microsystems. It was released in May 1995 as a core component of Sun’s Java platform. The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses. As of May 2007, in compliance with the specifications of the Java Community Process, Sun had relicensed most of its Java technologies under the GPL-2.0-only license. Oracle offers its own HotSpot Java Virtual Machine, however the official reference implementation is the OpenJDK JVM which is free open-source software and used by most developers and is the default JVM for almost all Linux distributions.

Java / 8

  • Find the most frequent elements from the list using streams?
  • How to sort the map based on values using streams?
  • What is the new feature of HashMap in Java 8?
  • What is map.entry?
  • What is a functional interface and its use?
  • What is a try-with-resources?
  • Have you used Microservices Architecture?
  • How to convert the monolithic application into a microservices application?

Project

  • When you convert your project from a monolithic application to a microservices application, then what will happen to the front-end?
  • If I have to add a new payment option like a Credit Card, then what will be the steps you will follow to implement it in Java?
  • Have you implemented the cache in Spring Boot?
  • Have you secured the user data when you are giving the user data to a third-party API in Spring Boot?
  • Have you done the security of your microservices?
  • What are the advantages of using the Hystrix library over others?

I was asked to share my screen and write a program to check whether the number is prime or not in an online Java compiler

Object-Oriented Design

Object-oriented design (OOD) is the process of planning a system of interacting objects to solve a software problem. It is a method for software design. By defining classes and their functionality for their children (instantiated objects), each object can run the same implementation of the class with its state.

The first one

Simula (1967) is generally accepted as being the first language with the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation.


via Wikipedia

In modern days, the Java programming language strictly follows object-oriented concepts which has its own significance in the software development world.

Database

The database is an integral part of any web application that stores data and builds UI (layout) accordingly. MySQL is an open-source relational database management system (RDBMS). Its name is a combination of “My”, the name of co-founder Michael Widenius’s daughter My, and “SQL”, the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer’s storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

via Wikipedia
MySQL is free and open-source software under the terms of the GNU General Public License, and is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle Corporation). In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL project to create MariaDB.

Object-Oriented Design / Database

  • What are Solid Principles?
  • How to use group by in MySQL?

React

A full stack developer handles most of the stuff including the front-end of a web application. So, I was asked some questions related to React / Javascript as well. React (also known as React.js or ReactJS) is a front-end JavaScript library that aims to make building user interfaces based on components more “seamless”.

React is free and open-source software under the terms of the MIT License. It is maintained by Meta (formerly Facebook) and a community of individual developers and companies.

React / Javascript

  • What are promises in Javascript?
  • What is useEffect() in React?
  • Did you test your React app and how?

We are done for now, the interviewer said and asked me if I had any questions.


Conclusion

I listened to every question carefully and took a break before answering. I tried to stop myself from saying the answer straight away because I thought that would sound negative to the interviewer they may suspect that I have mugged up the answers. In the case of programming questions, I tried to get maximum information from the interviewer creating a positive impact and making them believe that I am interested in tackling the problem.

The first thing the interviewer asked me was, What logic do you have in your mind to solve the question?. They first wanted me to say the logic of the problem and upon satisfying with my approach, I wrote the code in the online compiler.

The interviewer was just listening to my answers and did not give any feedback straight away. It was hard to say what the overall impression was but later when I analyzed my answers I got to know that some of my answers were wrong.

{...?...}

I was told that they would get back to me for another round if I proceeded, but unfortunately, I have yet to hear from them.

Video

I have also made a video to share this interview experience more naturally and to connect with greater audiences. I have a YouTube channel as well where I explore various stuff including non-technical things as well.

Interview | Iris Software

Author

This was one of so many interview experiences I had in a decade-long career. I hope it will help in getting familiar with the overall flow called process. Please comment and share your feedback, we are preparing to unveil more such untold stories from the technology world.