The technical recruiter of eBay contacted me for this position. I did some research study for eBay in 2007 and they said they found my resume in their internal database.
I was busy preparing for an interview for another company the next day when the recruiter called. He called at 5.00pm and asked me if he can take a quick phone interview. I said yes, and he spoke to me for 20mts. He asked me about my previous job role, skill set and some basic questions from my resume and then started the technical round.
1. Can you tell me the code to create a linked list? (Yes, on phone :)
2. Singleton Pattern.
3. Stack and Queue differences
4.. Generic question on how will I react in team conflicts etc (more of a personality question)
He wanted to ask some SQL questions as well but we ran out of time.
At the end of the interview he said he was I am a strong fit for the position and he would recommend me highly to the hiring manager.
He called me the next day to schedule a phone technical phone interview with one of the Sr.Software Engineers in the team. It lasted for 45mts. The questions were:
Difference between hashtable and hashmap?
What if the main method is declared private?
What is the difference between == and .equals()
Difference between final and finally
What design pattern would you use to design connection pooling?
Why doesn't eBay use EJBs, Hibernate, Spring, Transactions?
Heard of command pattern?
What can you tell me about Garbage Collection?
Explain Singleton Pattern
Design a data model for a departmental store. Once I told him the tables, constraints etc he asked me to tell him the SQL to retrieve the total amount for all the orders a customer placed in various departments.
The next day the technical recruiter called me and said they want to get me in for an in person interview. I had a 2 hour interview scheduled with the following members of the team:
1. Tech lead
2. Front end engineer
3. Business Analyst
4. Sr.Engineer from other team - he was not able to make it so the team's Product Manager came in his place
5. Dev Manager
6. Technical Recruiter - for closing discussion
The tech lead asked me a few Java programming questions. He got some code samples and asked me to tell the output of the code snippet. They were based on HashMap initialization in the constructor, static factory method, main method and another class method.
He asked me to write some queries given two tables. Basically they were trying to see if I can join tables, use groupby and having clause, aggregate functions etc.
The front end guy came with a print out in hand. It had a UI page with name, password, address, comments (text area) and 2 buttons (submit and cancel). He wanted me to write HTML code for the UI of that page. He asked some questions on the HTML tags I was using.
He asked me questions on JavaScript, CSS based on the creation of that form. He asked for client side validations of the data fields (text fields, text area and address fields). Address Field validations were a little tricky as we need to mention the difference between PO BOX and regular address validations.
The Business Analyst asked me questions on my previous projects and how I handled the business requirements. He asked me very specific questions to the projects I did before.
The product manager walked through my full resume, discussed about almost every keyword I mentioned in the doc. Nothing very technical but did discuss a lot about the technologies used etc..
Dev Manager - He was a database guy. He told me about the team, what to expect etc.. Then asked me to come up with an algorithm to find out the price for a keyword of an item based on the values present in the existing tables. He gave me 2 tables and some columns with item details. Keywords to search for those items etc.. The keywords can have multiple words. For example if you have existing high volume keywords in the the table like iPOD with a certain price then how much price should be the phrase "iPOD Touch 8gb". He was looking for some 5 criteria in the algorithm.
The technical recruiter asked me if I had any questions.