Tuesday, December 16, 2008

Interview #2 Continued : Apple Inc.

So last week, I gave everyone an overview of my interview with Apple and everything that went right. This week, I'm going to tell you all the things that went wrong with the interview. After the hardware interview, I was very confident and sure enough I got the call for round 2 of Apple's drubbing. I wasn't told what the second interview would entail but I figured it would be software oriented. During that week is when I realized how important it is to ask as many questions as you can about the team that you are being interviewed for because it can give you valuable insight into what to prepare. I obviously didn't ask enough questions on what platform they work in? what language do they code in? What are typical issues they face? These questions would have given me some ideas on the follow-up interview questions but since I didn't ask them, I was clueless on what was going to be asked.

Once the interview began, I was bombarded right away with a lot of unix based questions. It started off with some some simple questions like "How do you calculate the space occupied by a directory in unix" and "What does the pipe command do?" Had I known that I had to review my unix stuff, I would have been better prepared to answer them but luckily i remembered the command that du is for disk usage so got that partially right. The follow up question was "How would you find the size of a directory if you couldn't use the du command?" I was lost and had no answer. We moved on to other topics. I was asked, "If you could design an OS, what kind of scheduling would you do?" I answered that i would turn to a pre-emptive priority based scheduling. He asked me to explain what that meant so i tried to BS my way into saying that each process is given a certain priority level and higher priority process pre-empt lower priority processes. He follows that up with, "Is there any time when your scheduler is working correctly but a lower priority process gets more time with the processor than the higher priority process?" Once again I was stumped coz I couldn't think of a scenario when this would happen, especially if the scheduler is designed correctly.

Given my inability to answer these questions, the interview ended prematurely, instead of running for a full hour, it only ran about 40-45 minutes and I knew things weren't looking good.. I hadn't heard back from Apple for almost 3 weeks and until I got another offer and I forced their hand, i didn't receive a response. Finally, last week, I got an answer from Apple saying that I wasn't experienced enough for this position and that I should get back in touch with them in a couple of years to see what happens. I guess the consolation was that they rejected me in a very nice way if nothing else so I certainly take solace in that..

Stay tuned for the Royal Bank Corporation interviews in the coming days and weeks.

Wednesday, December 10, 2008

Interview #2: Apple Inc.. No longer Apple Computers..

As promised, i'm giving you guys an overview of another big interview that I went through. This one was with the infamous Apple Inc based out of Cupertino, California. The interview was for the iPhone Power/Performance team. Based on the description of the job, it seemed like a job that has both hardware and software elements to it. The job entailed hardware analysis to see ICs that drain a lot of power, and find software solutions to optimize the system to use less power. Sounds fun doesn't it. Plus, had I gotten the job, I would have been able to brag that I work on the most successful smartphone of the last few years.. I guess you guys can conclude that I didn't get the job.. but I did get the 2nd interview.. so that means I did some things right..

For those of you that don't know.. I did 2 internships with RIM and worked on Power Management which is probably why I got this interview in the first place so most of their questions revolved around my experience at RIM.

One thing I came to realize with Apple is that they are interested in people who know their stuff inside out.. They don't want someone who displays potential, they want someone who HAS potential and they're very picky.. They don't beat around the bush.. The recruiters don't use flowerly language or emails that are a full page long.. they use 3 sentences to get to the point..

Here's an example..

"I'm one of the recruiters on the iPhone performance/power team and was really interested in your resume. The work you've been doing is very interesting and I'm sure the team would like to chat with you. When might you be available?"

or..

"Sounds like your first chat went well. If you are interested we'd like to have you chat with another person from the iPhone perf team
When is the next best day? Friday?"

As you can see.. they cut to the chase.. which I really haven't been doing in this entry so i'll start now.. let's cut to the chase and get to the questions..

Apple Inc.
Interview 1
Question 1: I see you've worked at RIM's Power team.. What did you do there?
Answer: This is a very open ended question and they want to see how detailed you can get from a technical standpoint. I was very in-depth in my answers. "I worked mostly in the lab automating power measurement for BlackBerry devices. Measuring voltage and current of different components and identifying Power Management ICs to be used in Next Gen BlackBerries."

Question 2: So u've worked with PMICs.. why don't u tell me what some of the components in a PMIC are?
Answer: Linear Regulators (LDO), Switched Mode Power Supplies(SMPS), I2C communication interface.


Question 3: Ok, you also said you helped pick out PMICs for next gen devices.. what are some of the criteria for picking them?
Answer: Size (Because mobile applications ahve a scarcity when it comes to board space) and efficiency (because mobile applications run on batteries with limited power capability). but there's a tradeoff because the more efficient power supplies (SMPS) are bigger and the less efficient ones (LDOs) are smaller..

Question 4: Very good point.. so u talk about LDOs and SMPS. Why are LDOs less efficient and Why are SMPS units bigger..
Answer: LDOs use a resistive network to bring down voltages, so you have loss to environment and heat dissipation while SMPS devices work with transistors that switch on and off really fast to produce the voltage and could theoretically reach 100% efficiency. The problem is that SMPS units require an extra inductor, so space wise, that adds to the size of the unit.

Question 5: Ok, I see that you talk about bringing down voltages. Is that all you can do?
Answer: No, you can use buck regulators to bring down voltages and boost regulators to bring up voltages too. But they can only be done in SMPS devices not LDOs.

Question 6: You've been giving very good answers so far and giving lot more detail than I need. Now something more specific. What do you think are the 5 biggest power consuming elements in the iPhone.
Answer: Processor, LCD, Radio, GPS, and Audio Speakers and Microphone..

Question 7: Great.. now can u organize those 5 in terms of most and least power consuming..
Answer: I would think LCD, Processor, GPS, Radio and finally speakers
Interviewer: close but the LCD doesn't consume as much as you think. I mean. it does consume a lot when it's on but over a period of time, the processor and radio are the biggest consumers..

Question 8: Do you know what a bypass capacitor does?
Answer: I know the term sounds familiar but I can't quite rememember.

The interviewer the explained what it was, and I knew that I had the answer somewhere in me but couldn't come to a conclusion.

So i screwed up two out of eight questions, not too bad.. I knew i did well enough in the hardware interview.. and I was confident..

I noticed that the interview was mostly based on my resume so i strongly urge you to not put anything that you don't know inside out.. they grill you on it and they question every nook and cranny.. The interviewers know their stuff so don't try to bullshit your way through it. If you don't know an answer, say that you don't know it. Don't try to make a fool of the interviewer coz they will point it out to you..

The next day I got a request for the second chat.. and sure enuff this one was going to be software based..

Stay tuned and i'll tell you what was in store for me.. I'll give you a hint.. I didn't follow my own advice.. LOL.

Monday, December 8, 2008

Interview Review #1: Microsoft

It has been a couple of weeks since I last blogged but I thought now is a good time to write about my last few months of interviews and my take on the current new grad situation. With the current economic situation, I didn't want to tempt fate by writing about my interviews until I found myself in stable ground. I guess this entry is just an outline of the numerous questions i've encountered in the last 3 months from various companies and positions. So i'm going to start with one interview review per day. This is by no means expert testimony. This is just how things happened for me and an expression of whatever little I know or make sense of the interview process. It's certainly not advice.. but perhaps an example or a case study.. The first review will be from Microsoft. I haven't actually done the second round interview yet, so this is just an outline of the initial screen.

Microsoft
1) Write code to determine the second last element in a linked list.
Ans: have two pointers one incrementing before the other and when one gets to the tail, return the element pointed to by the other.

2) Write code to determine is a linked list is cyclic.
Ans: Again, have two pointers, one incrementing by 2, and the other incrementing by 1. If the first pointer and second pointer point to the same element at any point after the initial increment, the list is cyclic.

3) If you could design an alarm clock, what features would you add and why?
Ans: Very subjective. I obviously included a snooze button, a USB interface for loading custom music instead of *beep beep* and a laser pointed to the ceiling to show time and make humans even lazier. (i.e, u don't even need to turn your head to look at the clock on your table)

4) What is one piece of software you really like?
My Answer: "If i have to pick a microsoft product..."
Interviewer: "It doesn't have to be a microsoft product. It can be any piece of software"
My Answer: "Google Search"
Interviewer: "Ooh.. wrong answer.. not because we're microsoft but because my follow up question is 'How would you make it better?' "

Don't fall into this trap the way I did. Don't pick a software that is obviously leaps and bounds superior to competition. I eventually gave an answer along the lines that Google Search needs category based searches. For example, search only medical website, or college websites.

Let it be said that my answers were good enough to get me to the second round. The key is to relate and communicate with the interviewer. Don't be uptight but don't be too loose either. It's about finding the balance and the comfort zone. The interviewer isn't your homeboy, but they're not there to kill you either. They are genuinely interested in hiring you, otherwise they wouldn't be there so be confident but not self-obsessed. Understand that there are people out there who know more than you but you have what it takes. The whole package.. Finally, never forget to think outside the box. As crazy as some of the ideas my sound, it may show the interviewer that you have creative potential. An alarm clock with a laser and USB interface is not new, but it's not common. The common answers will put you on par with the other one hundred candidates. The unique answer puts you ahead of them.

Tomorrow i'll cover another interview that I attended while it is still fresh in my mind.