Analyst Integration

  Home  Analysis  Analyst Integration

“Analyst Integration Frequently Asked Questions in various Integration Programmer job Interviews by interviewer. The set of questions here ensures that you offer a perfect answer posed to you. So get preparation for your new job hunting”

87 Analyst Integration Questions And Answers

1⟩ Senior Software Engineer Integration Related Questions Part One

► What is something substantive that you've done to improve as a developer in your career?

► Would you call yourself a craftsman (craftsperson) and what does that word mean to you?

► Implement a <basic data structure> using <some language> on <paper|whiteboard|notepad>.

► What is SOLID?

► Why is the Single Responsibility Principle important?

► What is Inversion of Control? How does that relate to dependency injection?

► How does a 3 tier application differ from a 2 tier one?

► Why are interfaces important?

► What is the Repository pattern? The Factory Pattern? Why are patterns important?

► What are some examples of anti-patterns?

► Who are the Gang of Four? Why should you care?

► How do the MVP, MVC, and MVVM patterns relate? When are they appropriate?

► Explain the concept of Separation of Concerns and it's pros and cons.

► Name three primary attributes of object-oriented design. Describe what they mean and why they're important.

► Describe a pattern that is NOT the Factory Pattern? How is it used and when?

► You have just been put in charge of a legacy code project with maintainability problems. What kind of things would you look to improve to get the project on a stable footing?

► Show me a portfolio of all the applications you worked on, and tell me how you contributed to design them.

► What are some alternate ways to store data other than a relational database? Why would you do that, and what are the trade-offs?


2⟩ How do you find a running Java process on UNIX?

You can use combination of 'ps' and 'grep' command to find any process running on UNIX machine. Suppose your Java process has a name or any text which you can use to match against just use following command.

ps -ef | grep "myJavaApp"

ps -e will list every process i.e. process from all user not just you and ps -f will give you full details including PID, which will be required if you want to investigate more or would like to kill this process using kill command.


3⟩ Explain what is unit testing?

Unit testing is way to test individual unit for their functionality instead of testing whole application. There are lot of tools to do the unit testing in different programming language e.g. in Java, you can use JUnit or TestNG to write unit tests. It is often run automatically during build process or in a continuous environment like Jenkins.


4⟩ Can you describe difference between correlated and non-correlated subquery?

In correlated sub-query, inner query depends upon outer query and executes for each row in outer query. While non-correlated sub query doesn't depend upon outer query and can be executed independently. Due to this reason former is slow and later is fast. BTW, correlated subquery has some nice application, one of them is finding Nth highest salary in Employee table, as seen on previous SQL question as well.


5⟩ What is a stateless system?

A stateless system is a system which doesn't maintain any internal state. Such system will produce same output for same input at any point of time. It's always easier to code and optimize a stateless system, so you should always strive for one if possible.


6⟩ What is the difference between an interface and an abstract class?

This is the most classical question of all programming interviews. An interface is the purest form of abstraction with nothing concrete in place, while an abstract class is a combination of some abstraction and concrete things. The difference may vary depending upon language e.g. in Java you can extend multiple interface but you can only extend on abstract class. For a more comprehensive discussion see the detailed answer.


7⟩ What is difference between composition, aggregation and association?

Association means two objects are related to each other but can exists without each other, Composition is a form of association where one object is composed of multiple object, but they only exists together e.g. human body is composition of organs, individual organs cannot live they only useful in body. Aggregation is collection of object e.g. city is aggregation of citizens.


9⟩ What does the V in MVC stand for, and what does it signify?

V stands for View in MVC pattern. View is what user sees e.g. web pages. This is a very important design pattern of web development which is based upon segregation of concern, so that each area can be modified without impacting other areas. In Java world, there are lots of open source framework which provides implementation of MVC pattern e.g. Struts 2 and Spring MVC. By the way, M stands for model and C stands for controller. Modes are actual business objects e.g. User, Employee, Order while controller is used to route request to correct processor.


10⟩ What is time complexity of an algorithm?

Time complexity specify the ratio of time to the input. It shows how much time an algorithm will take to complete for a given number of input. It's approximated valued but enough to give you an indication that how your algorithm will perform if number of input is increased from 10 to 10 million.


11⟩ What is the difference between an inner join and a left join in SQL?

In SQL, there are mainly two types of joins, inner join and outer join. Again outer joins can be two types right and left outer join. Main difference between inner join and left join is that in case of former only matching records from both tables are selected while in case of left join, all records from left table is selected in addition to matching records from both tables. Always watch out for queries which has "all" in it, they usually require left join e.g. write sql query to find all departments and number of employees on it. If you use inner join to solve this query, you will missed empty departments where no one works.


12⟩ What is difference between a binary tree and a binary search tree?

Binary search tree is an ordered binary tree, where value of all nodes in left tree are less than or equal to node and values of all nodes in right sub tree is greater than or equal to node (e.g. root). It's an important data structure and can be used to represent a sorted structure.


13⟩ What is the relationship between threads and processes?

A process can have multiple threads but a thread always belongs to a single process. Two process cannot share memory space until they are purposefully doing inter process communication via shared memory but two threads from same process always share same memory.


14⟩ Can you describe the difference between valid and well-formed XML?

A well-formed XML is the one which has root element and all tags are closed properly, attributes are defined properly, their value is also quoted properly. On other hand, a valid XML is the one which can be validated against a XSD file or schema. So it's possible for a XML to be well-formed but not valid, because they contain tags which may not be allowed by their schema.


15⟩ What is the Liskov substitution principle?

Liskov substitution principle is one of the five principle introduced by Uncle Bob as SOLID design principles. It's the 'L' in SOLID. Liskov substitution principle asserts that every sub type should be able to work as proxy for parent type. For example, if a method except object of Parent class then it should work as expected if you pass an object of Child class. Any class which cannot stand in place of its parent violate LSP or Liskov substitution principle. This is actually a tough question to answer and if you does that you end up with creating a good impression on interviewers mind.


16⟩ What is the difference between a value type and a reference type?

A value type is more optimized type and always immutable e.g. primitive int, long, double and float in Java, while a reference type points to a object, which can be mutable or Immutable. You can also say that value type points to a value while reference type points to an object.


17⟩ What is difference between & and && operator?

& is a bitwise operator while && is a logical operator. One difference between & and && is that bitwise operator (&) can be applied to both integer and boolean but logical operator (&&) can only be applied to boolean variabes. When you do a & b then AND operator is applied to each bit of both integer number, while in case of of a && b , second argument may or may not be evaluated, that's why it is also known as short circuit operator, at least in Java. I like this question and often asked it to junior or developer and college graduates.


18⟩ How do you get the last digit of an integer?

By using modulus operator, number % 10 returns the last digit of the number, for example 2345%10 will return 5 and 567%10 will return 7. Similarly division operator can be used to get rid of last digit of a number e.g. 2345/10 will give 234 and 567/10 will return 56. This is an important technique to know and useful to solve problems like number palindrome or reversing numbers.


19⟩ How much time it take to retrieve an element if stored in HashMap, Binary tree and a Linked list? how it change if you have millions of records?

In HashMap it takes O(1) time, in binary tree it takes O(logN) where N is number of nodes in tree and in linked list it takes O(n) time where n is number of element in list. Millions of records doesn't affect the performance if data structure are working as expected e.g. HashMap has no or relatively less number of collision or binary tree is balanced. If that's not the case then their performance degrades as number of records grows.


20⟩ Explain three different kinds of testing that might be performed on an application before it goes live?

unit testing, integration testing and smoke testing. Unit testing is used to test individual units to verify whether they are working as expected, integration testing is done to verify whether individually tested module can work together or not and smoke testing is a way to test whether most common functionality of software is working properly or not e.g. in a flight booking website, you should be able to book, cancel or change flights.