How to get an internship
From Foreignliving
(→Links) |
|||
Line 61: | Line 61: | ||
====Microsoft==== | ====Microsoft==== | ||
- | http://www.microsoft.com/college/int_overview.mspx | + | From the Microsoft website: |
+ | |||
+ | Once your recruiter has had a chance to review your resume and gotten to know you a little better through brief chats or e-mail, they may wish to schedule an initial interview with you. These interviews are very casual and are usually held over the phone or on your campus. They are intended only to give us a general idea of your skills and interests and are usually not for specific open positions or teams. | ||
+ | |||
+ | Some things to keep in mind: | ||
+ | |||
+ | * Be prepared to discuss your strengths, expertise, and any experience or previous jobs that appear on your resume. | ||
+ | * If you're interested in one of our core technology positions-Software Design Engineer, Software Design Engineer in Test, or Program Manager-you may be asked some general problem-solving, design, or algorithm questions. | ||
+ | * If your passions run to other disciplines such as sales, finance, or user assistance, be prepared to answer general questions in your field. | ||
+ | * Ask your own questions. After all, this isn't just about Microsoft learning about you, but you learning about us, too. | ||
+ | |||
+ | More information at: http://www.microsoft.com/college/int_overview.mspx | ||
====Others==== | ====Others==== |
Revision as of 03:04, 8 February 2007
When the sections below grow too large, each of them should be moved to a page of their own. Please create new sections or contribute to the sections below if you have information to add.
Contents |
Interviews
General Interview Tips
(Contributions needed)
Technical Interview Tips
(Contributions needed)
Advice from Gayle Laakmann's website (weblink)
General Tips
- There are five basic types of questions that I see: fluffy questions, terminology, coding, algorithm and data structures
- Start talking as soon as you get a problem... show your thought process. Never give up on a problem
- All the stuff you learn in algorithms and datastructures and computer architecture really is important...
- Ask for clarifications when you need to. Some interviewers will purposely give you a vague question to see if you'll just try to blindly solve it without understanding the entire problem
- Be talkative and friendly.
Fluffy questions
- Example: What's the most challenging project you've worked on? What would you differently?
- Here is where good communication skills matter the most
- Just be prepared for this
- Know your projects well... Be prepared to talk about what you specifically did
Terminology:
- Example: What's the difference between a binary tree and a heap? When is one better than the other?
- Example: What's the difference between recursion and iteration? (aka, in terms of computer architecture)
- Example: What's the time and memory usage for inserting something into a binary tree?
- Make sure binary trees, heaps, linked lists, arrays, etc are fresh in your mind. Linked lists can be double linked or singly linked
- Be prepared to say when lists are better than arrays and come up with examples
- Refresh your memory on stacks... Talk about things in terms of computer architecture when possible
- Recursion through a linked list uses O(n) memory because of the stack
- Running time can be discussed in terms of max time or average - offer both. Insertion time into a binary tree is O(n) for max time, but O(lg n) for average
Coding
- Example: Write code that inserts a node into a binary tree
- Example: Write atoi
- Talk about and work out your algorithm before coding... Even if you don't know how to do it, just start talking about your various ideas and why they wouldn't work
- Practice ahead of time by writing code on a piece of paper, then typing it up and running it and see how you do. Practice in particular problems with string manipulation
- Be prepared to answer what the running time is and what the memory usage is
- Offer to do a problem either recursively or via iteration, if possible... If they don't say anything, do it via iteration, since it uses less memory
- Be prepared to have to code on a white board
- Check: did you do the appropriate bounds checks? Did you check if things are null? Run through a couple steps of your code to verify that it works
Algorithms
- Example: If you have a bunch of points on a graph, how would you find the line which crosses through the most points? (you actually want to return the set of points though, not the line)
- Start talking immediately and talk your way through a problem. Offer any solution you can think of, even if it's not right. Algorithm questions are not just about getting them right or wrong - it's about employers learning how you think
Data Structures
- Example: What are the classes and data structures you would use for a file system
- Example: What kind of data structure would you use to implement a map (not a location map... But rather a mapping from a key to a value)
- When you're supposed to come up with the classes, start with the major ones and then go into what their members and functions are. Explain if it may be appropriate - and why or why not - to make, say, an application class a subclass of a file class
- Scan through each of the main data structures (binary tree, array, sorted array, linked list, double linked list, heap) and figure out which ones may work. Typically more than one could work, but one may be better than the others depending on the solution. For example, for the map, if you pretty much know the range of possible values for the keys, a hash table may be good. Otherwise, it may be best to use a tree. But, if you're going to be accessing elements a lot and rarely inserting elements, maybe an array would be best.
Company Specific
Info needed: what is the typical procedure, how many interviews are held? What to expect at screening interviews, and on other on-site interivews?
Amazon
Microsoft
From the Microsoft website:
Once your recruiter has had a chance to review your resume and gotten to know you a little better through brief chats or e-mail, they may wish to schedule an initial interview with you. These interviews are very casual and are usually held over the phone or on your campus. They are intended only to give us a general idea of your skills and interests and are usually not for specific open positions or teams.
Some things to keep in mind:
- Be prepared to discuss your strengths, expertise, and any experience or previous jobs that appear on your resume.
- If you're interested in one of our core technology positions-Software Design Engineer, Software Design Engineer in Test, or Program Manager-you may be asked some general problem-solving, design, or algorithm questions.
- If your passions run to other disciplines such as sales, finance, or user assistance, be prepared to answer general questions in your field.
- Ask your own questions. After all, this isn't just about Microsoft learning about you, but you learning about us, too.
More information at: http://www.microsoft.com/college/int_overview.mspx
Others
Links
- CareerCup: http://www.careercup.com
- Interview questions and answers: http://www.softwareinterview.com/
Making the best out of Career Fairs
This section is primarily for students and how they can make use of on-campus career fairs conducted at their university.
Develop a strategy/prioritize
Review the list of attending employers and rank the ones you would like to speak with in order of importance.
Research employers
Employers that pique your interest should be researched. You want to be able to answer the question "Why do you want to work for my organization?" The only way you can answer that honestly is if you know something about the employer. For starters, you should visit their website. Things to look for include company history, press release, rankings, mission/values statements, and general information. You can also look for more objective information through other sources such as Vault.com and the Business Information Center (check if it is available at your library).
Copies of the resume and additional items
Bring one resume for each company of interest and an additional five or so resumes just in case. You may also bring copies of transcripts and letters of recommendation. These may or may not be offered to the employer, but you will certainly look prepared if the opportunity presents itself!
What to wear
You should always dress to impress! The minimal dress for most career fairs is business casual.
Prepare yourself mentally
When you arrive at the venue of the fair, walk through and scope out the locations of your targeted employers. Try to pick up any literature and listen to the employers if they are talking to a student. Try not to be overwhelmed with the number of people in attendance or by the anxious energy in the air. Think of the career fair as an information-gathering mini-mall, not as a mass interview event. To lessen your stress, go with someone.
Waiting in line
Eavesdrop politely to the questions and answers being exchanged ahead of you. Make sure that during your turn, you don't repeat the same questions or responses. When it is your turn, relax and try not to feel rushed because people are waiting.
Presenting Yourself
Be professional, but allow your personality to shine. Remember that the employers have been talking to students constantly, so show respect for their time and try not to immediately bombard them when it is your turn. Make direct eye contact. Showing your enthusiasm is also very important. The employers form their impressions of you during these first few seconds.
Be assertive and offer a firm handshake as you approach the person. Make
The conversation is a two-way street. If you ar speaking with one of the employers you have researched, weave in your knowledge of the company, and ask questions so they can elaborate.
Finally, in this situation, less is definitely more. This is not an interview. Being enthusiastic, articulate, to the point, and organized in your request for follow-up correspondence will be your best self-promotional tactic.
What to say (in two minute or less)
- Introduce yourself and share your major and/or career goal. If your career goal is unusual, prepare a quick description to avoid a long-winded explanation.
- Tell them why you are interested in their organization. (Or) Ask them to tell you more about the organization.
- Ask what opportunities are available (internship, co-op, full-time).
- Provide them with some brief highlights of your accomplishments that relate. Provide them with enough specific details to be memorable, but don't overwhelm them with a list of everything you have ever done.
- Offer your resume to give them a better idea of your background.
- Ask how they prefer you follow up with them, and get a business card.
Business Cards
After speaking with employers, jot down on the back of their cards something unique about them or what they said and a reminder of any follow-up plans you might have discussed. Keep these in your wallet, planner, or other secure place so that you don't worry about losing them.
Sample General Questions
- What skills do you feel people need to be successful in this field?
- How would you describe your typical day?
- Based on my major and experience, what types of opportunities might your organization have for someone with my background?
- What type of training does your company have?
- What makes your organization different from its competitors?