I applied through a recruiter. The process took 4 weeks. I interviewed at ThousandEyes (San Francisco, CA) in Feb 2012
Interview
They make you complete a fairly lengthy coding challenge that could easily take more than one week, and when you submit it-- if they are unhappy with it for any reason, they will simply tell you no, with no feedback of any kind.
Don't waste your time on a long coding challenge (they essentially make you do a project), you may as well apply elsewhere
Interview questions [1]
Question 1
Create a twitter like service with the following basic functionalities
1. A login page for users to sign in and a link/portion for registration if user is not in the system.
2. Once logged in, the user is directed to the home page where the user can post "tweets". Tweets appear with timestamp below on the users home page.
3. A logged in user can search for other users and decide to "follow" them. Users cannot control whether they can be followed or not in this implementation. If a user is part of the system, then anybody can follow them.
4. Tweets made by people the user follows also start to appear on the users home page. Page does not need to be refreshed for new tweets by other users to appear on the page.
5. If a user decides to "un follow" somebody, past tweets are removed from that users page and no more future tweets appear.
In designing and implementing this system, feel free to correct things in twitter that you don't like or always wanted differently.
Languages: Java, JSP, Spring MVC, Javascript/JQuery, HTML, CSS (JQuery and Spring MVC are highly encouraged).
Database: MySQL
I found the question fair but challenging. While I understood the fundamentals, my lack of experience with certain advanced techniques kept me from fully passing. I'll focus on refining these areas to improve my performance in the future. Thank you for the opportunity.
I applied through a recruiter. The process took 3 weeks. I interviewed at ThousandEyes in Jun 2022
Interview
Initial Leetcode - style Interview followed by on site
On site consisted of another coding round, systems design, and behavioral. I was not in the right headspace and did poorly on the first coding round. They allowed me to schedule one more coding round to "make up" for my first failing (despite passing through the initial coding round). The "make up" round was an extremely vague question with no example inputs/outputs and despite trying to communicate with the interviewer on the question, he told me another requirement of the problem which completely changed how I would have designed the solution 5 minutes before the end of the interview.
Interview questions [2]
Question 1
Due to the NDA, I will keep it vague.
Leetcode Hard graph problem (Djikstra's but with some tweaks)
A fairly regular software engineer interview process. The first call was with the recruiter. After that, there was a technical round with one of the developers. The response time was also quick.
Interview questions [1]
Question 1
Implement a new data structure which can do following
set(key, value)
get(key)
last()
delete(key)