03/05/2013

Technical Interview Demystified


Technical Interview Demystified




Technical Interview

In this section i will tell you how easy it is for a fresher to clear a technical interview stated if he follows the basic tips/rules/mantra:

Technical Interview is part of the recruitment process for almost all the companies and this is the second biggest elimination round after the written test.

Well, I will assume here as you are a fresher trying to get into a software company (since most does irrespective of their branch).

Any software firm small or big wants their employees to know the basics of the subjects like,
Programming
software engineering
operating systems
Databases
Computer Networks.

Having said that they won’t expect you to know every part and parcel of the subjects, rather they would look for someone who at least knows what they are for.

Now if you are asked to write a C-Program which does check whether a given integer/string is a palindrome or not (which is part of lab programs for almost all the universities in the country in the 1st year), he would expect that you will write it easily and if you fail to do so, please don’t expect him to select you.

So what would we suggest is that, you should have basic knowledge on the aforementioned subjects and we will also tell you the areas you should concentrate in each subject.


1. Programming

In any technical interview, it is obvious that you would be asked to write some programs and mostly in C,C++ & Java .

To be confident at this area, you should know the basic syntax of all these subjects as the semantic or logic remains the same.

Start with C, learn variables, operators, control structures, functions & pointers (the most important stuff), structures and files. Then go for C++ and java, try to understand the differences between all the three precisely.

OOPS is the most important & probable topic, where you might get questions from.

Below is the list of the most frequently asked programs that you must learn to clear this round.

a) Write a C program to swap two numbers without using a third variable.

b) Write a C program to check whether the given number or a string is palindrome or not.

c) Write a C program to create a Pascal triangle.

d) Write a C program to perform matrix multiplication and addition.

e) Write a C program which performs bit manipulation (&,|,etc) of a given number.

f) Also, learn programs which does basic file manipulations (creation, writing data and reading)

2. Software Engineering

This is the most important & also a boring subject, since it is mostly theoretical.

Not many interviewers ask questions on this subject in the technical interview, but it is always better to know the basics and be on the safer side.


Questions in this subject would be basically on the following topics,

a. Phases of Software Development Life Cycle

b. Process Models like Waterfall model, agile model etc.

c. Cyclomatic complexity of a software

d. Basics of software testing(white box, black box testing)

If you can learn all these, then you could possibly answer all the questions in the interview.


3. Operating Systems

Define operating system?

Could be the first possible question in some technical interview’s and this subject is one of the core subjects of computer science. Students from CS and IT back ground can’t take any excuses for not answering questions in this subject and others may get excuse if you don’t answer.

Now in this subject, you have to know the following things:

a. The definition of an Operating System, components of an OS(like process management, memory management , etc)
b. Learn the functionality of all the cpu scheduling algorithms like FCFS,SJF, Round-Robbin , etc.
c. Learn how process synchronization works, this concept involves semaphore, monitor to achieve process s synchronization.
d. Learn basic memory management techniques like paging, segmentation etc.

This should do for answering any question in Operating System.


4. Databases

No application works without a database and so it is must for us to know the basics of the data base management system.

Do learn the following things,

a. Whenever we say DBMS we refer to RDBMS and everything is relational here in this DB. Go through the basics like entities, attributes and relations,ER-models,keys and constraints.

b. Now learn to implement them with the structured query language shortly called as SQL, learn the basic operations CRUD(create, insert ,update & delete).

These all should do,but also go through transactions which is also an important concept and might be asked in the interview.


5 .Computer Networks

Stand alone systems don’t do any wonders and that is why the systems are connected through a network.

In computer networks all you need to concentrate is on the OSI reference model which covers everything, do try to know what each layer does and know about TCP,IP in particular.

This should do for computer networks.....








Projects/Internships & Papers Presented (Optional)

Project is part and parcel of the curriculum for each and every engineering student and the quality of this project shows the student’s experience, expertise and exposure to various technologies and methodologies.

Now when you were asked this question,

Tell me about your projects (or) what are all the projects you have done?

Many wonder where to start, so let me clear your doubts about this here. Now before you answer this question, you should know the following basic things about your project:

Your Project Name (don’t laugh this happened before and I saw people not able to pronounce their project names)
Reason for choosing this project over many other projects present out there, I mean the idea behind this project.
Technologies used and your role in the project.
Entire project architecture and design (includes UML diagrams and Schema)
You should be able to write part of the code from your project (not certain that you will be asked about this).
Problems faced during the project (if you have done your project, else use the famous words like “faced problem with requirement gathering”, “problem with some part of code which you were not able to do”) and you should also explain about how you have overcome them.

When the interviewer asks about projects , he /she knows that only 1% of the whole engineering students genuinely do the projects as many would only pay money and get the source code, having said that they would only expect you to know the basics of what every project in common has.

So, please make sure that you know the architecture/design of the project and practice well about how to demonstrate your project in an efficient way.


Papers

Not everyone would have presented papers in conferences and symposiums, but if you have done so and kept them on your resume be ready to answer some simple questions on the topics you have presented.

You may be asked to give a shorter version of that presentation which you given previously or you might be asked to assume that there is a slide show of your presentation and give a mock demo(who knows, you might be asked)

Well I have tried my level best to give you the idea about the questions asked in technical interviews in the best possible scenarios...


Finally, I would say this :

“In this world of uncertainty, nothing is certain and so every interview is unique in its own way and to be through the interview, prepare well for the worst possible scenario and give your best and success would follow”

If there is anything you would want to ask, please add a comment and I would respond or mail us...
Keep Visiting for more technical stuffs....!!



Do share if you like this...
Leave ur valuable feedback...

1 comment:

  1. 100+ hits today for this article.. First time i am getting this type of huge response from viewers..
    WOW....!!!!
    Thank you all for viewing & sharing with ur friends..
    keep visiting.. Ur's GIRI..

    ReplyDelete