microsoft flew me up to seattle/redmond, washington for interviews. i haven't heard anything yet from google :-/
- i met steve ballmer, microsoft's ceo, who has a net worth of 15 billion. the 1st pic wasn't too good, as ballmer's head was downward. i told him, 'ah, you look evil!' he laughed so we took another. microsoft asked me for the 2nd pic for their blog, which gets 1 million views a month!
- in the lobby, and in my hotel's elevator, i also coincidentally ran into a fellow UCLA friend who was my TA last quarter. turns out, we were both interviewing the exact same day!
- in the hotel, i ran into a kid who i worked w/ at google in santa monica, ca last summer! turns out, we were both interviewing the exact same day!
- my 3 interviews (1+ hr each) went okay. the questions are outlined below
- i went on a tour of seattle the next day, and i met up w/ a good florida tech friend, "c biscuit."
interview 1:
- write code to implement an append() function for a Vector data structure
- write code to solve this problem: you are given an n x n matrix where each index corresponds to a given letter that is unknown to you until you chose to visit that index/spot. (like the board game Boggle.) so, when you visit a spot, you are presented with a letter. you are also given a dictionary of words. your goal is to spell these dictionary words by wisely visiting spots, while minimizing the number of incorrect moves and wasted visits. specifically, devise an algorithm that traverses all of the correct paths, and that does so with minimal space and time complexity. explain your algorithm's space and time complexity (Big-O notation).
- write code that represents how a text editor loads a file. what data structures would you use to store the ascii text? how would you devise your data structures for the case when the user needs to be able to (1) go to any line he desires and (2) insert a letter at any place in the file. what's the time complexity?
interview 2 (occurred during lunch and then afterwards):
- how would you design code for a system/database that stores license plates? what type of functionality would you allow? what data is associated with your classes? who would use this, and how does that affect your design decisions?
- write code that allows one to quickly (faster than linear time, but without using a HashMap) find any given license plate and obtain the corresponding info that is associated with it. we assume that each license plate is merely a 6-digit, natural number. write code for a special binary search that take its guesses based on the # that you are looking for with respect to the range in which it is looking. when would this outperform and under perform regular binary search?
interview 3 (w/ some higher-up manager type person):
- we talked about my past work for 30 minutes, then discussed how i present technical material in a dumbed-down, succinct manner
- write code to convert any integer (positive or negative) to a String without using any built-in functions provided by your language of choice.