Interview Questions for Software Engineer:
Here are some very important and most commonly asked interview questions for a software engineer. We can divide these questions into two categories, some question are related to your practical experience and the projects that you have done in past while the other questions are related to theatrical concepts related to software engineering.
Practical Questions related to software engineering:
Following are the common practical questions that you may face during interview for software engineer, you have to answer these questions according to your experience.
- What type of projects you have done or worked at previous job or at home?
- Which tools do you like to use for keeping track of requirements?
- How can you debug a system in a production environment, while it is being used?
- What do you care about most when reviewing somebody else’s code?
- Estimate how long it would take to sort 1 trillion numbers.
- How would you store 1 million phone numbers?
- How do you make sure that your code can handle different kinds of error situations?
- Did you perform reverse engineering?
- What type of language do you prefer for writing complex algorithms?
- Give me an example of a project that completely failed?
- Describe the process you use for writing a piece of code?
Software Engineering basic concepts:
That is difference between Structure and class?
Some of differences are as following:
- Classes are Reference types and Structures are Values types.
- Classes will support an Inheritance whereas Structures won’t.
- A class has a constructor and destructor.
- Structs are public by default and classes are private by default.
What is Polymorphism in programming?
So polymorphism is the ability to present the same interface for differing underlying data types.
For example, integers and floats are implicitly polymorphic since you can add, subtract, and multiply and so on, irrespective of the fact that the types are different. They’re rarely considered as objects in the usual term.
What is inheritance in computer programming?
Inheritance allows a class to have the same behavior as another class and extend or tailor that behavior to provide special action for specific needs.
What is encapsulation in programming?
In OOP, encapsulation is the process of combining elements to create a new entity. For example, a procedure is a type of encapsulation because it combines a series of computer instructions.
What is Object-oriented programming (OOP)?
Object-oriented programming (OOP) is the type of computer programming in which you can define not only the data type of a data structure, but also different types of functions for performing different operations that can be applied to the data structure. In OOP, the data structure becomes an object that includes both data and functions. OOP organized around objects rather than “actions” and data rather than logic.
What are public, private and protected classes in OOP?
Private – Only the current class will have access to the field or method.
Protected – Only the current class and subclasses of this class will have access to the field or method.
Public –In public class there is no restriction on accessing a public type or type.
What is Constructor in OOP?
A class constructor is a special member function of a class that is executed whenever we create new objects of that class. A constructor will have exact same name as the class and it does not have any return type.
What is Constructor in OOP?
Abstract class is a class that can’t be instantiated; its only purpose is for other classes to extend. Abstract classes are useful for describing functionality that is common to a group of classes, but requires unique implementations within each class.
What is object in OOP?
Software systems consist of objects that have state (instance variables) and behavior (implemented with methods) and that communicate by messages.
What is pointer in OOP?
A pointer is a programming language data type whose value refers directly to another value stored elsewhere in the computer memory using its address
What is Array in programming?
An array is a collective name given to a group of similar quantities and it is representing number of consecutive memory locations, each of which can store the same data type and which can be references through the same variable name.
Name some types of sorting techniques?
Sorting can be performed using several methods
- Insertion sort
- Merge Sort
- Quick Sort
- Radix Sort
- Heap Sort
- Selection sort
- Bubble sort
What is Heap Sort?
In heap sort, the file to be sorted is interpreted as a binary tree. Array is used to implement the heap sort. The basic principle behind sorting an array is that its elements start out in some random order and need to be arranged from lowest to highest.
What is Bubble sort?
Bubble sort compares last element with the preceding element. If the last element is less than that of preceding element swapping takes place. Then the preceding element is compared with that previous element. This process continuous until the II and I elements are compared with each other.
What is dot net framework?
Microsoft .NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large library and provides language interoperability (each language can use code written in other languages) across several programming languages. (Reference: from Wikipedia)