What is most important to get a summer internship?

Thanks for the A2A. I am a Computer Science graduate student and I have interned at 3 different companies (Cisco, Citrix and Bank of America) and I have attended loads of interviews. The main thing the interviewer looks for are as follows,

1. STRONG FUNDAMENTALS: I cannot emphasize this enough. Your concepts in data structures and algorithms must be extremely strong.

2. Do not lie on your resume. Your resume should reflect only the concepts you are confident about. I had an internship interview at Microsoft and I was at the last round of interviews and I was so close to getting it . Prior to the interview I had worked a little with databases like simple SQL queries but I had not learnt the concepts behind database design yet (relationships, ER diagram, etc.). I had put databases a skill on my resume and my interviewer asked me questions about 1:1, 1:n and n:n relationships and I seriously had no clue what he was talking about. For people who aren't familiar with database design, the above question is the most fundamental question anyone can ask about database design. He assumed I lied on my resume despite my attempts to make him understand that I just knew basic SQL. Naturally I did not get the internship. I still wonder to this day weather I would have gotten the internship if i hadn't put database as a skill on my resume.

3. If you don't have sufficient knowledge about any concept, inform the interviewer that you are not familiar with it. Nobody expects you to know everything.

4. Look at the requirements of the job before applying. Most of the job postings have a list of technologies that they expect their candidates to be familiar with. For example if you do not have any Web design or Web development experience DO NOT apply for a Web Developer internship.

5. Try to maintain a good GPA. Academic scores are the first level of screening. Some companies do not even look at your resume if your GPA is below 3.2.

6. Take part in a lot of extracurricular activities especially volunteering activities like Habitat for Humanity, etc.

7. Develop communication and interpersonal skills. You should be able to communicate your thoughts and ideas effectively to be highly productive in work place. In any company, you would be working in a team and will be interacting with a lot of people. A simple “Good Morning” everyday can go a long way in establishing a good relationship with your teammates and colleagues.

8. Try to be updated with the latest developments happening in your field of interest. For example, in computer science know something about data mining, Internet of Things, Cloud Computing, etc. Subscribe to blogs and newsletters (most of them are free) that provide relevant information.

9. Network. Try to get in touch with the industry folk via LinkedIn or any other platform and get an idea about the tools and technologies their department/company uses.

10. The virtual internship and job process are to some extent luck based. Never get dejected if you get a reject. Just brush it off and keep applying. Not obtaining an internship is not the end of the world. There are so many other things you can do and pursue if you are unable to land an internship. Try to work under a professor. Trust me the professors work on the latest stuff and the knowledge you gain while working under a professor is invaluable.

11. Last but not the least never give up your academics to prepare or attend interviews. I have personally seen a lot of friends and classmates who have chosen easy courses so they could devote more time to interviews and job applications. Remember you are in school to study and obtain knowledge. Your school days are the best period to develop your skills as you do not have any other major responsibility such as a family or kids (most cases) and can devote more time and energy in learning.

Thsee are all the points I can think about as of now. Will update the answer if I can think of anything else.