I was invited for an on-campus interview, which consisted of two rounds, each lasting 30 minutes.
The first round was a resume walkthrough with basic questions. These included topics such as how to improve SQL query performance, the use of indexes, the EXPLAIN statement, differences between Java's String, StringBuilder, and StringBuffer, what MVC is, and the distinction between span and div.
In the second round, they provided me with a Java code to review on a one-sided A4 sheet. This code involved string manipulations and contained several issues: improper type casting, an infinite loop, a need for constructor overloading, incorrect usage of iterator.next(), and a mistake in the use of static. There were approximately 10 errors or areas for optimization.
After that, I was left with only about 10 minutes. The interviewer then presented me with a problem involving a Person class and asked me to implement a method. The Person class had attributes for string name, int age, char sex, a Person spouse, and a List<Person> children. The method was to return the oldest sibling pair, considering the possibility of half-siblings (children from different parents).
Upon reading the problem, I had less than 5 minutes to implement it and did not perform well. Once time was up (and the interviewer had other candidates to see), I explained how to solve it. However, I realized my explanation was only partially correct. I felt the time given was not fair, and the interviewer even apologized for it.
It has been three weeks, and I have not received a callback.
The siblings question. I surely need more time to solve it.
The following metrics were computed from 79 interview experiences for the Veeva Systems Software Engineer role in United States.
Veeva Systems's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Veeva Systems's Software Engineer interview process in United States.