6 interviews in 2 weeks. First of which is the first ever interview in my life!
It’s interesting to see how my level of preparation drops quickly through the interviews.
For the first one, I spent a whole weekend reading up on C++, a whole day researching the company and the interviewer, 1 hour planning the trip, printed google maps, printed several extra copies of resume, and went to bed an hour early. For the third one and beyond, I only checked translink, Google maps, and their website (and maybe wikipedia).
The first interview was with Avigilon, a security camera company, for a developer position, in Vancouver downtown (Yaletown). Beautiful early afternoon, narrow street with lots of parked cars. Cafes and restaurants everywhere. It was a regular office building, felt kind of creepy, though. Dark corridors, narrow halls, small elevator. And locked washrooms!
I arrived 30 minutes early, so I walked around and only went in 15 minutes early. It was a warehouse-looking place, apparently their shipping center or something. The interviewer led me to a huge conference room with big TVs and not much else, with a written test!
The whole test is about multi-threading. Some theory questions (including one about thread priority inversion that I didn’t get. read about it afterwards. interesting problem), and some code questions about writing a multithreaded function to satisfy some timing and synchronization requirements, and making a class thread-safe. Wasn’t too bad.
The interviewer came back after 30 minutes, and went over some very easy (BBI?) questions – plans after graduation, etc, and talked about my previous projects.
The second one was Inetco, a financial data processing company in Burnaby, in the middle of nowhere on Lougheed Highway (had to take a bus and 2 skytrains and walk about 1km!). Dark rainy day, too.
2 interviewers for this one – a VP R&D and an unidentified subject. Very nice people, basically went down my resume and talked about my technical projects. Spent a lot of time on my chess AI, how I developed and debugged it, unit tests and things like that. And then there was a whiteboard test. Had to write 2 functions, one to reverse a string in-place, and one to find the depth of a binary tree. Easy stuff, and I tried to vocalize my thinking out loud, too, which I think helped both them and me. Afterwards, they left the room for a few minutes to talk about it, and came back with a job offer!
The third one was with Blue Castle, a local game studio. One of my most anticipated jobs! In an industrial zone… kind of, in Burnaby. Nice reception area with comfy sofa, soft lighting, weird paintings, and a stack of game magazines. I first met with a hiring manager (I think?). Very friendly and enthusiastic, talked about the company, the work environment (including the fact that some people come to work in big fluffy slippers), what they are doing, and gave me a tshirt! He left, and my 2 interviewers came in. A technical director and a software engineer (I like to think of him as a Russian hacker, though :D, that’s a lot of respect from me). Talked mostly about my projects (almost the same stuff), and some very interesting technical questions – what are some ways to make a program that crashes? what’s polymorphism and how is it implemented in C++ (this one I didn’t know)? and some more general OOP stuff. And then there are some whiteboard coding questions – to write a function that sorts a linked list in the simplest possible way (I cheated by just dumping everything into a vector, call std::sort on it, and dump it back into the list), and… something else I don’t remember. Got a job offer the next day on the phone, and had a little chat with the hiring manager about the job which all sounded very interesting. It will be a very tough choice between this and EA, assuming EA wants me.
The next one is Broadcom in Richmond. QA position, not much to say. The interview was pretty uneventful (waited there for half an hour – I was 15 minutes early and he was 15 minutes late). Random questions (mostly him talking), really nothing technical, and a tour around the lab… ended in half an hour.
Last but definitely not least, Electronic Arts!. Developer position. I’m actually very surprised that I got the interview, since apparently not many second years get developer positions, and even less at EA. First round was a phone interview at the Co-op office. Talked about my independent projects, marks, why I want to work at EA, gaming passions, what team I want to work with, etc. I think I did pretty well. Next day I got a call and scheduled an in-studio interview!
Arrived 45 minutes early (speeding bus!), so I waited at the huge reception area, playing their PS3 (there was also a Wii and an xbox, all side by side). The place is just… gorgeous. They have a “small” campus there that’s like… the size of 10 soccer fields. How do I know? because it has a soccer field right there for scale!
Lots of trees, too, felt very refreshing. The inside was equally awesome (at least the reception area). Glass walls, stylistic furnishing and decoration, very spacious, lots of displays and posters. Strong contrast between the “natural” feel when you look outside the glass walls and the futuristic feel inside.
When it’s about time, I signed in at their automated guest sign in station thing. Type your name, and your host’s name, and she will be notified somehow and come out to get you! Very cool. My “contact” turned out to be a UBC commerce co-op. I was a little nervous at that time (I don’t usually feel nervous at interviews anymore… EA was special), and little chat with a pretty girl always helps =D. Oh, and I have to mention that, while I was waiting in the lobby, I saw MANY pretty girls passing by. I totally didn’t expect this. It’s a video game company… they must be arts people.
Signed a NDA (so I can only write about things that are general knowledge or things I already know before the interview through “lawful” means), and started the interview with a manager. He talked about some company organization stuff (no, not unannounced titles), what the job will be about, some project management stuff, and asked about how I manage/work as part of teams, mostly about the PIP group!
Half an hour later, 2 programmers came in, and it started getting technical. There were 2 whiteboard questions on binary trees – traversing them in different orders, and questions on general algorithms and data structures (hash tables!). Talked about my personal projects, and I was surprised that they were actually very interested in the VHDL drumset. And they asked me how virtual functions are implemented in C++ @#&%@$@ I was going to read up on it last night!
All my interviewers were like… without looking at the paperwork –
“So, this is your final year/workterm right?”
“… no, this is my second year/first workterm =D”
And that was it! The end of my interview craziness. Learned SO much these 2 weeks. Now I feel very natural in interviews. No stress at all. Do they hold interviews for US presidency? I will apply to the white house!
Need to do rankings this weekend… tough choice between EA and Blue Castle. Blue Castle job sounds a little more interesting, and I really like the people. But EA is… well, EA =P. There’s the parents factor, too. “Big company! Big company! Big company! The bigger the better!”.
But of course, this is all wishful thinking. If EA doesn’t want me, my life will be a lot simpler.