I applied throught campus recuring website.
Actually the transportation there was poor, little train, no bus. a long way from the train station. Recommand you have a car there, or call a taxi when get off the train station. And you have to pay with yourself.
Online codity (2 questions in 1 hour: find minimum jump out to an Array, count the visible nodes in Binary Tree)
Sent video cover letter , then the HR will contact you with email (before this step, there was no replies from iCIMS)
Phone interview: core java questions (HashTable VS. HashMap, Abstract class VS. Interface ,String, StringBuffer, StringBuilder)
Onsite interviews: 4 rounds (3 technique, 1 behaviour )
1st round (2 algorithm questions on whiteboard):
1) version compare (consider cases with 0's)
2) given a pile of nodes with `class Node { int start; int end; }` , you are asked to build the tree (not necessary binary tree) from those nodes. There are some duplicated value in nodes, just deleted the later duplicated ones.
2nd round: OOD, given a string arithmetic expression, build a Binary Tree. Maybe you do not need to wirte the algorithm for building the tree, but you need to figure out how to evaluate the result after the tree is built
3rd round: reverse a linked list, then the same problem as 2nd round. But at this time, you are asked for the tree building algorithm
4th round: talk with the dept manager. I have been asked details when talking about my experience and projects, some technique related questions about my work and projects (like what's your challenge in the project, how did you solve it)
Everyone interviewers were nice and kind, but the dept manager in the last round maybe not as warm-hearted as the previous ones.
Take care of the behaviour questions. I suggested to reply with standard and common answers. Don't talk too much about your own preferences.