Analyst Integration Interview Preparation Guide
Download PDF

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 Integration Programmer Questions and Answers:

1 :: What is heap and stack in a process?

They are two separate areas of memory in same process. Talking about Java, stack is used to store primitive values and reference type to object but actual object is always created in heap. One critical difference between heap and stack is that, heap memory is shared by all threads but each thread has their own stack.

2 :: What is difference between DOM and SAX parser?

DOM parser is a in memory parser so it loads whole XML file in memory and create a DOM tree to parse. SAX parser is a event based parser, so it parses XML document based upon event received e.g. opening tag, closing tag, start of attribute or end of attribute. Because of their working methodology, DOM parser is not suitable for large XML file as they will take lot of space in memory and your process may ran out of memory, SAX is the one which should be used to parse large files. For small files, DOM is usually much faster than SAX.

3 :: What is a critical section?

critical section is the part of a code, which is very important and in multi-threading must be exclusively modified by any thread. Semaphore or mutex is used to protect critical section. In Java you can use synchronized keyword or ReentrantLock to protect a critical section.

4 :: What is Immutable class mean?

A class is said to be Immutable if its state cannot be changed once created, for example String in Java is immutable. Once you create a String say "Java", you cannot change its content. Any modification in this string e.g. converting into upper case, concatenating with another String will result in new object. Immutable object are very useful on concurrent programming because they can be shared between multiple threads without worrying about synchronization. In fact, whole model of functional programming is built on top of Immutable objects.

5 :: Tell me what is SQL injection?

SQL injection is a security vulnerability which allows intruder to steal data from system. Any system which take input from user and create SQL query without validating or sanitizing that input is vulnerable to SQL injection. In such system, intruder can inject SQL code instead of data to retrieve more than expected data. There are many instances on which sensitive information e.g. user id, password and personal details are stolen by exploiting this vulnerability. In Java, you can avoid SQL injection by using Prepared statement.

6 :: What is revision/version control?

Version control are software which is used to store code and manage versions of codebase e.g. SVN, CVS, Git, Perforce and ClearCase. They are very effective while comparing code, reviewing code and creating build from previous stable version. All professional development use some sort of revision or version control tool, without it you cannot mange code effectively, especially if 20 developers are working in same code base at same time. Version control tool plays very important role to keep code base consistent and resolving code conflicts.

7 :: What is the difference between Overriding and Overloading?

Overriding is resolved at runtime while overloading is compile time. Also rules of overriding and overloading is different, for example in Java, method signature of overloaded method must be different than original method, but in case of overriding it must be exactly same as overriding method.

8 :: What is the difference between a class and an object?

A class is a blue print on which objects are created. A class has code and behavior but an object has state and behavior. You cannot create an object without creating a class to represent its structure. Class is also used to map an object in memory, in Java, JVM does that for you.

9 :: What is a strongly typed programming language?

In a strongly typed language compiler ensure type correctness, for example you can not store number in String or vice-versa. Java is a strongly typed language, that's why you have different data types e.g. int, float, String, char, boolean etc. You can only store compatible values in respective types. On the other hand, weakly typed language don't enforce type checking at compile time and they tree values based upon context. Python and Perl are two popular example of weakly typed programming language, where you can store a numeric string in number type.

10 :: What is loose-coupling?

Loose coupling is a desirable quality of software, which allows one part of software to modify without affecting other part of software. For example in a loosely coupled software a change in UI layout should not affect the back-end class structure.