The technical recruiter from eBay contacted me regarding this position. I had conducted some research for eBay in 2007, and they mentioned finding my resume in their internal database.
I was busy preparing for an interview with another company the following day when the recruiter called. He contacted me at 5:00 PM and asked if I could take a quick phone interview. I agreed, and we spoke for 20 minutes. He inquired about my previous job role, skill set, and asked some basic questions from my resume before initiating the technical round.
At the end of the interview, he stated that I was a strong fit for the position and that he would recommend me highly to the hiring manager.
He called me the next day to schedule a technical phone interview with one of the Senior Software Engineers on the team. This interview lasted for 45 minutes. The questions were:
== and .equals()?final and finally.The next day, the technical recruiter called to inform me that they wanted to schedule an in-person interview. I had a 2-hour interview scheduled with the following members of the team:
The Tech Lead asked me a few Java programming questions. He presented some code samples and asked me to predict their output. These were based on HashMap initialization within a constructor, a static factory method, the main method, and another class method.
He asked me to write some queries given two tables. Essentially, they were assessing my ability to join tables, use GROUP BY and HAVING clauses, and aggregate functions.
The front-end engineer presented a UI page with fields for name, password, address, comments (a text area), and two buttons (submit and cancel). He wanted me to write the HTML code for this UI. He also asked questions about the HTML tags I was using.
He asked me questions on JavaScript and CSS related to the creation of this form. He inquired about client-side validations for the data fields (text fields, text area, and address fields). Validations for the address field were a bit tricky, as we needed to differentiate between PO BOX and regular address validations.
The Business Analyst asked questions about my previous projects and how I handled business requirements. He posed very specific questions related to the projects I had completed.
The Product Manager reviewed my entire resume and discussed almost every keyword I had mentioned. While not overly technical, the discussion involved a good amount of detail about the technologies used.
The Development Manager, who had a database background, informed me about the team and what to expect. He then asked me to devise an algorithm to determine the price for an item's keyword based on values in existing tables. He provided two tables with item details and columns for keywords and their associated prices. The keywords could be multi-word. For example, if there was a high-volume keyword like "iPOD" with a certain price, he asked how to price the phrase "iPOD Touch 8gb." He was looking for approximately five criteria in the algorithm.
The Technical Recruiter asked if I had any questions.
Why doesn't eBay use EJBs, Hibernate, Spring, Transactions?
Write an algorithm to find the price for a keyword of an item based on the values present in the existing tables. He gave me two 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 table like 'iPOD' with a certain price, then how much should the price be for the phrase 'iPOD Touch 8gb' (a potential low-volume keyword)?
The following metrics were computed from 12 interview experiences for the eBay Software Engineer II role in San Jose, California.
eBay's interview process for their Software Engineer II roles in San Jose, California is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for eBay's Software Engineer II interview process in San Jose, California.