CareerCup's 'Ace the Interview' Guide

The Ultimate Guide to Interviewing! Delivered instantly as a PDF via email. For Software Engineers & SDETs | More Info
  • 150 of the best interview questions with 120 solutions prepared by technical interview experts!.
  • Free access to future editions of the book.
  • Behind the scenes look at Microsoft, Amazon and Google interview processes.
  • Questions are grouped by topic and sorted by difficulty, allowing you to focus on your weakest areas.
"Excellent book! It really helped me prepare for my interviews." (Aditya - Accepted at Microsoft)

30 Day Money Back Guarantee: We know you'll love this book, but if you don't, we'll give you your money back!

Just $25 to Master the Interview!


Posted on May 15, 2009
Good news bloggers and website owners! CareerCup has just launched its new affiliate program. CareerCup's affiliate programs allows website owners to post a link / ad for CareerCup's interview guide and, in return, collect some of the revenue from any sale. Best of all, it's super-easy to use!


We offer two designs: Horizontal (example) and Vertical (example)


Preliminary tests have shown that it far outperforms Google Adsense ads. Want in on the action? Great! Follow these instructions, or just tweak this code:
<SCRIPT type="text/javascript" src="http://www.careercup.com/js/affiliate.js"></SCRIPT>
<SCRIPT type="text/javascript">
var cc_width = 650;
var cc_font_size = 12;
var cc_header_font_size = 14;
var cc_background = '#FFFFFF';
var cc_header_color = '#009193';
var cc_guarantee_color = '#FF0000';
var cc_link_color = '#009193';
var cc_type = 'horizontal';
writeAffiliateCode('mydomain.com', '1');
</SCRIPT>


When you've got it up and running, email me your name, paypal account, and url. You'll get a 20% cut of the revenue and will be paid each month. Posted on October 19, 2008
CareerCup now has a facebook page! Join our facebook group and help us spread the word! http://www.facebook.com/pages/CareerCup-Better-Interviews-Better-Careers/35268686145 Thanks! Gayle Posted on October 18, 2008
CareerCup has just launched a new ebook (pdf) with the Top 150 Interview Questions. For just $15, you can get the top 150 questions, broken down by topic and sorted by difficulty. Use this book ASAP to zero in on what questions will trip you up! Buy now! See http://www.careercup.com/book Posted on June 19, 2008
I've been working (working: v. to write one or two sentences with the intention of finishing it up later that day, or the next day, or...) for a while on a post about how to pick which companies to apply to. Jon Pincus, my former manager from Microsoft, has done a better job that I would have, so I'll just let him take it from here...

Jon Pincus: "You probably won’t be able to get your dream job in your next job; what you want is something that’s noticeably closer than where you are now, and makes it a lot more likely that the following job has even more of the dream job characteristics."

Or, if you're one of those people who want to go to a big company and are just trying to come up with names, Google Sets can actually be useful here. If you put in Google, Microsoft and Apple, it'll return related terms such as Intel, Sun, Yahoo and Blackberry. It's not a perfect list, but it's a start! Posted on June 19, 2008
When I was in high school, a teacher returned an essay of mine with the following written on the top of the paper: "Know your audience." The task was to write a persuasive essay on any topic of our choosing. I just so happened to pick a topic on which the teacher had extensive knowledge and strong feelings. I hadn't been thinking about this at the time I chose the topic, but he was right - I should have known this wasn't a good topic. Lesson learned.

Writing a resume is no different. Tailor what you're writing to the specific company and position.

Resume Cosmetics
  • Avoid the Text Blob: Employers don't read your resume - they glance at it for, oh, 10 - 15 seconds. You can't absorb key points from a large blob of text, so bullet your accomplishments instead. Write short, concise sentences. Craft your resume such that a quick glance is enough to say "wow".
  • Use a Template: Do *not* just type everything into Microsoft Word - format your resume nicely by using a template. Microsoft Word has lots of built in resume tables - use one, or make your resume.
  • Pages: if you're a recent college graduate (last few years), your resume should probably be one page. Can't get it all in one page? Trim it down to the most important stuff. This is actually a *good* thing to do, because the best stuff will stand out more.
  • Formatting Tip: Electronic copies: if you create a good format in Micosoft Word, your resume probably uses tables. You may have noticed that table borders show up when you view them in Word but not when you print them out. And guess how many people will view your resume? That's right - on Word. So, you'll want to *really* hide your table borders. Here's how: instead of setting the borders to invisible (invisible on paper, but visible electronic), set them to visible but white. They'll be truly invisible then.
  • Filename: A lot of people send me resumes named liked "Resume.doc", and they get lost. If you don't want your resume to be lost, put your name in the filename (eg, "John Smith Resume - April 2006.doc"). I *highly* recommend that you save it on your computer with such a filename this way you won't forget to send it with the proper name.
Resume Content:
  • Accomplishments, not Responsibilities: Employers want to know not just what you were assigned to do, but what you actually accomplished. For example, saying something like "Reduced time to perform X by 75% by optimizing Y" looks much more impressive than "Responsible for optimizing X." List your accomplishments over your responsibilities, and be specific.
  • Projects: Employers want to see practical experience - that means internships and projects (this is especially true for Software Engineering positions). Yes, have a specific section on your resume for projects - 3 to 4 projects is ideal, whether they're class project or personal projects. If they're personal projects, say so! It shows passion and motivation.
  • Kill the Fluff: I have never once said "oooh... this person claims to have great team working skills. Let's hire them!" Maybe I'm wrong here, but I don't think employers believe fluff stuff just because it's on a resume.
  • For US Positions: Please don't list your age, marital status, gender, etc. I see this a lot with international applicants. In the US, it is illegal to use those as factors in a hiring decision. We don't want those on your resume.
Resume Wording & Proofing
  • Bullets: Bullet each item for a job - you don't need to write complete sentences. Use action words.
  • Spelling & Grammar: Once you've done all this, make sure to check for spelling mistakes, grammatical mistakes and typos. Get as many people as possible to read over your resume and tell them to be picky. This is especially important for non-Native English speakers. Many companies will, unfortunately, toss your resume for a simple spelling mistake.
  • Personal Information: This should be obvious, but double check that your phone number, address and email address are correct. Don't list your cell phone unless you are ok with receiving calls on it.
Resume Customization:
I've said that you need to customize your resume based on the position, so I'll explain a little bit about what I'd do for each company. But first, a short summary of the various things I could include:
  • Microsoft Software Engineering Internships: 2001, 2002, 2003
  • Apple Software Engineering Internship: 2004
  • Google Software Engineering: 2005 - Present
  • TAing in College, including being Head TA
  • Webdesign / webprogramming for a small company in Philadelphia before going to Google
  • Creating a course in college and teaching it
  • Teaching at University of Washington while working at Google
  • Planning a lot of large social events with 200+ people (see http://www.theseattleantifreeze.com)
  • 3 or 4 "meaty" projects in college
  • CareerCup (a website for technical job applications)
Software Engineer (anywhere): I'd want to show off the technical problems I've done, as well as show myself to have good initiative. So, I would emphasize the technical work I've done at Google, Microsoft and Apple (big names = prestige). I'd drop the webdesign work - doesn't add much given the other jobs. I'd talk a bit about CareerCup, since that shows independent work. I wouldn't talk much about teaching or event planning, but I'd given them a brief mention.

Program Manager: I'd want to show off some technical stuff, but I also need to show good planning skills, design work, initiative. Google/Microsoft/Apple would have some stuff, but I wouldn't go into as much technical detail. I'd talk more about CareerCup (initiative, ability to drive a project). Planning large social events would be somewhat important too (shows leadership). Teaching at UW and Penn would be good to talk about as well because it shows communication skills and leadership.

Board Position for Theater: I recently applied for a board position for the young professionals group of a Seattle theater. I talked a bit about Google, Microsoft and Apple, but dropped a lot of the technical details. I talked a bunch about event planning, because they would want me to help plan events. I talked more about the various websites I maintain, because, who knows, maybe they would want me to help out with their website. I talked about creating a course at Penn and UW (initiative, communication skills, etc).

I never once exaggerated what I did - I simply cut details or elaborate depending on how important something is.

Resumes for Software Engineers:
I'll talk specifically about this since I see tons of Software Engineering resumes.
  • A company like Google or Amazon, which does a lot of server / web work, will be most interested in projects you've done relating to the web or to scalable systems. Microsoft, however, might be more interested in client-side work. Again - customize!
  • Languages (Foreign & Programming): Many employers will expect you to actually be able to *use* the languages you list on your resume - that means if you list French, you should be able to speak french. If you list C++, you should be able to write in C++ - and they might just test you on it. A good thing to do is to list your languages like this:
         Proficient with: Java, C++
         Previously worked with: C, C#, Javascript, HTML
    Oh, and this is just a pet peeve of mine that has to be said: if you've worked with C++ and C#, don't list them as "C++/C#". Yes, their names sound similar but the languages aren't. The same goes for Java/JavaScript
  • GPA: If your GPA isn't on your resume, the assumption is that it's below a 3.0. So, if you have a 3.2, list it! You can list either your in-major GPA or your total GPA, or both. Feel free to list which ever one's higher. Also, many universities have a policy that you can round your GPA to the nearest tenth. Check with your school, but if so, you should round that 3.67 to a 3.7. Every little bit helps, right?
------------------
As a point of reference, here's my resume: Gayle Laakmann - Resume 2004. Give yourself 15 seconds to look and the resume and then put it away. What was your impression of it? Did you get a good feel for my past experience? My resume is certainly not perfect (for one, it's too crowded, and quite out of date). I could probably trim it down a bit. That should give you a good start though.

The most important thing to remember is that all you get to show off your years and years of experience is about 15 seconds. Can you tell the employer enough in 15 seconds to make them pick up the phone and call? Posted on June 19, 2008
Technology is a somewhat unique field - in my completely biased opinion - in that your raw skills are tangible and testable. That is to say, in an interview, there's typically less emphasis on "fluff" and more emphasis on what you can actually do.

So, how do you build these raw skills?

Regardless of what position you're looking for, if you want to know how to get there, you should ask someone in the field. Think about where you want to be in the next few years. Find a person who is right now where you want to be and ask them (ask them what?) If you don't know anyone offhand, well, that's what Google is for. Find someone and email them. People are pretty willing to help - if you only ask!

That brings me to the specifics. I've been a software engineer at Google for the last two years, so people ask me pretty frequently how they can get a job at Google. The number one thing that I think is missing from applicants is real project experience.

If you're in school, you should study hard and all that good stuff. But, that's not enough. You need project experience - companies want to see what you can actually code. By the time you've graduated, aim to get at least three major software development projects under your belt. Here are a few ideas as to how to get those projects:

  • Many schools offer the ability to do an independent study. Think of an application that you want to build, pitch it to a professor, and maybe you can get credit for it by doing as an independent study.

  • Talk to professors that you know - or even ones that you don't - and ask them if you can help them out with research. If you want to be a software engineer, focus specifically on the projects where you'll be writing code in a language like C++ or Java (as opposed to, say, MatLab).

  • Check out the code to an open source project and build it. Take some time to learn the project architecture, then start coding. Start with fixing a few bugs, and then move into real feature work.

  • Enroll in courses which have large projects. Yeah, they're hard, but no pain no gain, right?


  • If you're not in school right now, you might be able to enroll in courses at a local university. But if not, you can still do projects on your own. Start with something small - like a Google Maps mashup listing your favorite restaurants - and go from there.

    You'll learn a lot from coding on your own, but the benefits go beyond that - simply the fact that you did coding on your own rather than for work / school shows the passion and dedication that every company wants to see. Posted on June 19, 2008
    Every few weeks, I get an email from someone asking if I can get them a job at their favorite tech company. Sometimes I can get this process started for them, sometimes I can’t, but either way, the process of getting a job is about far more than just submitting your resume.

    So, here it is: getting a job in ten not-always-easy steps. Over the next few weeks or so, I’m going to write about each one of these in more detail.

    (1) Build Raw Skills

    Think a few years out about what position you’d like. What do you need to do to get there?

    (2) Prepare a *good* resume

    Great experience isn’t enough. You need to show this in your resume. Remember – a resume is not a timeline of everything you’ve done; it’s a proof of your skills.

    (3) Picking the right companies

    To list just a few things to think about: company size, company culture, the role of someone in your position, how long the company has been around, what the company actually does, growth of the company, location, etc.

    (4) Prepare a cover letter

    This is a company’s first introduction to you, so make it perfect.

    (5) Apply!

    Getting your foot in the door at a company isn’t always easy, but there are a few tricks I’ve learned...

    (6) Preparing for the interview

    Know what to expect and prepare accordingly. If you’re reading CareerCup, you’re probably off to a great start.

    (7) Interview

    This is what it all comes down, and there’s a lot you can do to shape the outcome.

    (8) Negotiate

    You can negotiate (almost) any offer – even if they say it’s "non-negotiable"

    (9) Make a decision

    If you have several offers, you’re in a great spot. How do you pick the one that’s right for you?

    (10) Accepting & Denying

    Accepting an offer is easy, but don’t forget – it’s important that you decline the offer the right way too.


    Stay tuned – I’ll elaborate on each one of these in the upcoming weeks.
Microsoft (584)Bloomberg LP (214)Goldman Sachs (48)Qualcomm (37)Google (33)CapitalIQ (27)Sophos (25)Infosys (21)Sage Software (19)Agilent Technologies (19)Facebook (15)Cisco Systems (14)American Airlines (12)Globaltech Research (11)Softchoice (10)
Amazon (522)Yahoo (55)Expedia (46)NVIDIA (35)Adobe (32)VMWare Inc (26)Morgan Stanley (24)IBM (20)Electronic Arts (19)Epic Systems (17)Apple (14)Motorola (14)MarketRX (11)Chicago Mercantile Exch... (10)Hewlett Packard (9)
More Companies »
Software Engineer / Dev... (1005)Financial Software Deve... (70)Development Support Eng... (32)Virus Researcher (25)Web Developer (16)Consultant (6)Production Engineer (2)System Administrator (1)
Software Engineer in Te... (131)Program Manager (50)Testing / Quality Assur... (28)Analyst (25)Field Sales (15)area sales manager (3)Assistant (2)application support eng... (0)
More Job Titles »
Algorithm (525)Terminology & Trivia (280)Object Oriented Design (117)C (94)Data Structures (67)Java (60)General Questions and C... (56)Math & Computation (36)Application / UI Design (31)Networking / Web / Inte... (26)System Design (21)Linux Kernel (19)String Manipulation (18)Threads (12)Large Scale Computing (10)
Coding (413)Behavioral (128)Experience (103)Brain Teasers (67)Testing (62)Computer Architecture &... (58)Database (45)Linked List (35)Trees and Graphs (27)Ideas (23)Arrays (21)C++ (18)Security (13)Hash Table (11)Sales (9)
More Topics »
CareerCup Official Interview Book Daily Questions Requests for Help Mock Interviews CareerCup Blog
My Profile Edit Profile & Email Settings Sign Out