Taro Logo

Software Engineer II Interview Experience - San Jose, California

June 1, 2008
Positive ExperienceGot Offer

Process

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.

  1. Can you tell me the code to create a linked list? (Yes, on the phone :))
  2. Singleton Pattern.
  3. Stack and Queue differences.
  4. A generic question about how I would 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 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:

  • 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, or Transactions?
  • Have you heard of the Command Pattern?
  • What can you tell me about Garbage Collection?
  • Explain the Singleton Pattern.
  • Design a data model for a departmental store. After I described the tables and constraints, he asked me to provide the SQL to retrieve the total amount for all orders a customer placed in various departments.

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:

  1. Tech Lead
  2. Front-end Engineer
  3. Business Analyst
  4. Senior Engineer from another team - he was unable to attend, so the team's Product Manager joined in his place.
  5. Development Manager
  6. Technical Recruiter - for closing discussion.

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.

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)?

Was this helpful?

Interview Statistics

The following metrics were computed from 12 interview experiences for the eBay Software Engineer II role in San Jose, California.

Success Rate

67%
Pass Rate

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.

Experience Rating

Positive83%
Neutral8%
Negative8%

Candidates reported having very good feelings for eBay's Software Engineer II interview process in San Jose, California.

eBay Work Experiences