How to Pass an Interview for a Software Engineer?. What to Do and What to Avoid?. Svetlin Nakov Ph.D., Computer Science. www.nakov.com. Sofia , 3 .05.2011. Contents. What is a Job Interview ? Preparation for an Interview Typical Interview Questions and Answers for Software Engineers
What to Do and What to Avoid?
Ph.D., Computer Science
A Stressful Situation or a Chance to Demonstrate Your Knowledge and Skills?
What is the Best Way to Prepare Yourself for an Upcoming Interview?
Typical Scenario for a Technical Interview
My name is … Our company is … bala-bla-bla … We are leader in … bla-bla-bla … Our products bla-bla-bla … Our projects … bla-bla-bla … We are the best!
Present yourself in short – your relevant experience, education, how did you start programming, etc.
In C# which explain the fastest algorithm to sort a list of customers by their first name?
… I know the build-in Array.Sort() method, but I am not sure it is the fastest.
If I had a computer I would perform a Google search.
For multi-core CPUs I could try the parallel sorting using LINQ with parallel extensions.
I should either implement own comparer or use a lambda function to sort by the FirstName property.
How do you can randomize a sequence of playing cards?
Do you have experience working in a team? What do you prefer – being a leader or a player?
Do you play some kind of sport? At what position?
How do you react if you are about to miss a deadline?
(for Junior Software Development Positions)
Experience, Education, Future Plans
Where are you from?
What High school have you graduated?
What University have you graduated or you are studying now?
When you started programming?
How many books about computer programming you have read? What was the name of the last?
Do you believe that computer programming is your passion and your future job?
Can you work on full time (8 hours/day)? If not how many hours a week you can work?
What are your English skills? Can you freely talk on the telephone in English?
What are your plans for the next few years? How you see your career after 2 or 3 years?
How you inform yourself about new technologies? Do you read news or blogs? Which sites?
Shall you study more after you graduate your current University degree? Maybe abroad?
Describe your typical work day.
Algorithms, Databases, Web Technologies, Etc.
Can you draw a picture of a linked list?
What is typical for the Strings in C# / Java / PHP?
Explain how polymoprhism works in the object-oriented programming (OOP)?
Explain what is a hash-table and how it works.
Explain how the QuickSort works. How fast is it?
You are given a set of words. Find all their subsets.
You have to implement a Web spider which runs on a cluster of machines. How you will design it?
How we implement one-to-many and many-to-many relationship in relational databases?
When we use "1 x 1" relationships in database modelling? Give an example.
What is database constraint? How constraints work?
You have a table consisting of: EmployeeId (PK), Name, Salary, ManagerId (FK), DeptId (FK).
Write a SQL query to find the name, salary and department of the employee that has minimal salary in his/her department. If many employees take the minimal salary, display just one of them.
What is the difference between DOM, SAX and StAX parsers for XML? How you use DOM in C# / Java / PHP?
What is XPath and how it works? Give an example. How you use Xpath in C# / Java / PHP?
How we execute multiple tasks in the same time in C#?
You have to download 500 files from Internet but your network bandwidth is not too wide to handle 500 downloads simultaneously so you want to download the files by 10 at a time. How you implement this?
Explain the difference between HTTP GET and POST requests.
Explain the meaning of the following CSS rule:
How to do the above in jQuery?
How you could implement a shopping cart in ASP.NET / Java / PHP?
What is custom tag / user control in a ASP.NET / Java based Web application? How it works? When we need this technology?
What is AJAX and how it works? How we use AJAX in ASP.NET / jQuery / PHP / Java based Web application?
We have a list of products that have name, price and photo. We need to display them in a Web application. Describe the steps to do this in ASP.NET / Java / PHP.
How we implement URL rewriting in ASP.NET / Java Web application / PHP?
What is software requirements specification (SRS)? What is the typical structure of such document?
What is source control repository? Which source control software you have used and when?
What is unit testing? When we need it? What unit testting frameworks you have used?
How the continous integration works?
Explain what is agile development. What is SCRUM? Explain the most important practices of SCRUM.
Puzzles, Unsolvable Problems, Etc.
Estimate how many gas stations exist in Sofia.
Do you see the tree outside on the street? Can you calculate how many leaves it has?
You have 8 balls. One of them is defective and weighs less than others. You have a balance to measure balls against each other. In 2 weighings how do you find the defective one?
Your Best and Worst Qualities, Ability to Work in a Team, How do you Handle a Stressful Situation?
Describe the ideal software company from your dreams.
Can you describe an ideal collague / team member?
What are your 5 best personal character qualities?
What are your 5 worst personal character qualities?
What kind of sport do you practice? At which position do you play?
What shall you do if you have a deadline until tomorrow and your project is not completed?
How do you resolve a conflict with a colleague?
Do you prefer to work independently or in a team?
Give some examples of a team work from your experience.
How do you resolve a conflict with a colleague?
What does motivate you and what does not?
How do you handle stress and pressure?
Describe a difficult work situation / project you have experienced and how you overcame it.
How you can evaluate your results. What is success?
What were your responsibilities at your last job / last project?
What major challenges and problems did you face? How did you handle them?
Why are you leaving your current job?
What interests you about this job?
What challenges are you looking for in this position?
Why we need to hire you, not someone else?
How to Answer in the Best Way?
What salary do you expect?
I don't care about the payment. I want to work at the company for long-term and I believe that if my results are good I will be paid accordingly.
I understand that I have to learn a lot. Thus now I think I could start with a salary of XXX leva and in a year I expect to become more skillful and get a pay rise of YYY (or be fired if I don't meet your expectations).
I don't know what salary to expect. Please make an offer for me.
You will be a junior developer (trainee). For this position our salary range is from XXX to YYY leva.
One Wrong Word Could Spoil the Deal!
Did you have colleagues or classmates who you can't stand? What were they? Why you can't stand them?
Generally I can stand anyone. I don't like too much XXX kind of people but if I need to work in a team with such colleagues I will defenitely find a way.
This is my first job and I want to start with 1800 leva net salary because I am very smart and experienced.
I want to start a job at some management position because I have graduated University in UK.
I will work in your company for few months and will go abroad for a better job after I get some experience.
I want to start working but my University education is my first priority. Thus I will be unable to come at work each Tuesday and each Wednesday and when I have tests, exams and projects.
My first priority is my job. In the same time I have some commitments in the University but I am flexible to do my best to move them out of working time. Sometimes (e.g. once monthly) I will have to take tests / exams in the University and I hope we could find a way to avoid harmful consequences for my projects at work due to my eventual absence. Do you think this would be possible?
Do not Come Late, Usual Dressing, …