Reddit Reddit reviews Programming Interviews Exposed: Secrets to Landing Your Next Job

We found 32 Reddit comments about Programming Interviews Exposed: Secrets to Landing Your Next Job. Here are the top ones, ranked by their Reddit score.

Business & Money
Books
Job Hunting & Careers
Job Hunting
Programming Interviews Exposed: Secrets to Landing Your Next Job
Wrox Press
Check price on Amazon

32 Reddit comments about Programming Interviews Exposed: Secrets to Landing Your Next Job:

u/riatonmiguelito · 23 pointsr/mexico

Yo estoy viviendo en NY desde diciembre del año pasado y estos son los consejos que te puedo dar.

  1. Aprende inglés y trata de practicarlo lo más que puedas. Si ya lo sabes trata de mejorar tu comprensión verbal, qué tan bien lo puedes escribir etc. Yo sé de muchas empresas inclusive en México que dejan ir a buenos ingenieros porque no manejan inglés.
  2. Compra o descarga libros para entrevistas y léelos completos, haz los ejercicios del libro, etc. Muchas preguntas de programación terminan siendo las mismas o variantes de las que encuentras en estos libros. estoy seguro de que si traes buen inglés y puedes contestar el material de los libros, puedes conseguir trabajo en EUA. Algunos clásicos son:

    http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

    http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=sr_1_1?s=books&ie=UTF8&qid=1458414826&sr=1-1&keywords=programming+interviews+exposed

    Básicamente, refuerza tu conocimiento de algoritmos y estructuras de datos. El decir "esto sí lo hice o lo vi en la escuela pero ya no me acuerdo" no es una excusa válida en ninguna entrevista.

  3. Si ya te sientes a gusto con tu nivel de programación, saca una cuenta en HackerRank y aviéntate ejercicios de ahí o entra a algunos concursos. Si traes un buen nivel entonces vas a poder hacerlos, si no pues entonces necesitas seguir estudiando. También te sirve poder estar familiarizado con esta página ya que sé por experiencia propia que Bloomberg y Amazon la usan para reclutar.

  4. No le tires a todo, trata de enfocarte en una o dos tecnologías. Sí puedes decir que en tu carrera haz usado C, C++, Python, Java, JavaScript, Ruby, Perl y C# y que puedes aprender fácilmente, pero trata de definir qué tipo de trabajo quieres y usando qué tecnología. Esto con el fin de que puedas estudiar bien las características del lenguaje, sus standard libraries, sus frameworks más comunes, etc. En mi experiencia si le tiras a todo no vas a profundizar en nada. Si estás aprendiendo una nueva tecnología checa bien el mercado laboral y la demanda que hay de la misma. Creo que ahorita Javascript está muy de moda.

  5. Actualiza tu LinkedIn y cambia tu ciudad de residencia a la ciudad en donde te gustaría trabajar. No todos en EUA están conscientes de las visas TN y lo fácil que es traerse a Mexicanos a EUA, por lo tanto no buscan a gente en México. Sin embargo si cambias tu ciudad vas a empezar a salirles en sus búsqueda y te van a contactar. Siempre puedes luego decirles que lo cambiaste por ese motivo. También investiga un poco acerca de la visa TN para que puedas convencerlos de lo fácil que sería el proceso de llevarte a EUA, como te digo, muchas empresas no saben de la visa TN.

  6. Manda tu CV a alguna empresa que se encargue de llevar a ingenieros a EUA. También agrega a reclutadores por LinkedIn y mándales mensajes. Si necesitas hacerlo, paga por LinkedIn Premium. Aquí te dejo la página de algunas reclutadoras.

    http://www.bairesdev.com/

    http://www.opensystemstech.com/

  7. Si tienes tiempo haz algunos proyectos por tu cuenta y ponlos en github. En algunos lugares (especialmente empresas pequeñas) les gusta ver como codificas.

    Mucha suerte, cualquier cosa mándame un mensaje!
u/Gunner3210 · 12 pointsr/cscareerquestions

I have been through 3 Microsoft Internships and am currently a full-time employee there.

First of all, congrats on securing the interview. 5 days might be a little tight. But I would recommend you take all 5 of those days off from school and study these two books thoroughly:

  • Programming Interviews Exposed
  • [Cracking the Coding Interview] (http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X)

    You must study these books and the problems in them very carefully. The basic data structures such as lists, arrays, stacks, queues, trees and hashtables - you should know these and associated algorithms like the back of your hand. You should be able to produce code for algorithms such as inserting to a list or searching through a tree in a few minutes. Most problems can be solved by using a specific data structure and some associated algorithm.

    You will most likely have 2 back-to-back 45-minute interviews. Both of these will be highly technical and focused on algorithms and data structures. Typically, you will be presented a problem. For example: determine if a linked list has a loop or not. You must then come up with a solution to this problem and be able to explain the algorithm to the interviewer. You should also be able to quickly analyse the time and space complexities of the algorithm. Finally, you will be asked to code this algorithm. Here, knowing a specific programming language is not important. So put down your C Programming Language book and start reading the other two I have listed. You can code in pseudocode. The syntax is not important - only the algorithm.

    If you manage to do all this in less than 20 minutes, you will typically be asked to answer an extension to the same problem. For example: Find the exact node where the list loops back on itself. Then you repeat the same process and solve this modified problem. Alternatively, you may be asked to describe yourself (small-talk). However, these HR style questions have very little impact on your result.

    If you are ever stuck, you can always ask for clarifications from the interviewer. The interviewer will also provide hints if you seem to be struggling. Always think aloud as this will allow the interviewer to stop you from thinking in the wrong direction. The second interview will go the same way but with a different interviewer and problem. Remember to ask when they will let you know of the interview result.

    After you have studied your books, go through glassdoor/careercup and search for interview questions. Sort these by date and learn the latest ones thoroughly.

    If you managed to do everything right, you should be invited to Redmond to do your real interviews. Good luck!
u/sooperkool · 10 pointsr/cscareerquestions
u/Soreasan · 8 pointsr/cscareerquestions

Make your own projects or code to build a portfolio. Upload the code to Github to build an online portfolio.

Here are some excellent books that may help as well:

Elements of Programming Interviews

Cracking the Code Interview

Programming Interviews Exposed

u/brobi-wan-kendoebi · 6 pointsr/cscareerquestions

Never ever ever ever ever ever ever EVER ever ever EVER tell a company "I'm not suited for the job". Have some balls! Sure, you messed up, but hold your head high. Everyone messes up in their life at interviews; I know I have many times. Confidence can go a long way in promoting your personal image.

FizzBuzz is probably the most simple, commonly used interview question out there to see if a programmer can actually program. It doesn't get much simpler than that. I hate to break it to you, but Modulus is one of the most basic foundation concepts you need to know, and it's definitely taught in any entry level OOP book or Uni program. I dare you to show me a "Learn programming in Java/C++/Any other OO Language" book that doesn't cover it in the first few chapters.

You are over-thinking the solution here: it's meant to show how well a candidate can easily write clean, short code. There's no reason for you to abstract the functionality of finding whether a number is evenly divisible into a method - that's over complication in design, and it's a red flag for employers. I think you may have believed that isolating specific mathematic processes into methods seemed like a good idea to show off that you know object oriented principles. You're on the right track. However, if the process you're writing can be completed in a single line of code, let alone under 10 characters, you're just adding more dependencies and complication to a simple block of code. I would suggest this as a more clean solution to fizzbuzz (in Java):

for (int x=0; x<=100; x++) {
if(x%3==0 && x%5==0)
System.out.println("FizzBuzz");
else if(x%3==0)
System.out.println("Fizz");
else if(x%5==0)
System.out.println("Buzz");
else
System.out.println(x);
}

I personally struggled with a decent amount of interviews until I started to actually prepare for the interview. I recommend finding time to work through these two books; they'll help prepare you for what kind of questions to expect.

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=sr_1_1?s=books&ie=UTF8&qid=1377704276&sr=1-1&keywords=programming+interviews+exposed

http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X/ref=sr_1_1?s=books&ie=UTF8&qid=1377704294&sr=1-1&keywords=cracking+the+coding+interview

And most important of all: NEVER get down on yourself! Every tough problem or terrible interview you have is just a learning experience. Never tell yourself you aren't good enough, or just outright give up. You aren't allowed. Stick with it, and prepare months in advance, like homework. You don't have to be that person dedicating every waking moment of their life to programming, but if you're serious about keeping your interview skills sharp, you need to dedicate some time to learning the questions. Good luck!

EDIT: Grammar, etc.

u/RIPdig · 4 pointsr/cscareerquestions

I would say its difficult for a lot of people even people with formal education.

Cracking The Coding interview is a good start.
You might also want to try this book.
Also websites like leetcode and hackerrank might help.
edit: this article might also be interesting to you.

u/VerticalEvent · 4 pointsr/cscareerquestions

> Now herein lies the problem. I now need to condense a 4 year degree down into two years.

Just to be sure, your department should have an undergraduate adviser whose sole purpose is to help figure this out for you. Arrange a meeting to make sure your plan will work as you expect (just to be on the safe side).

> Also, I have heard that interviewers in Big Tech will probably ask Operating Systems questions, memory management questions, and scalability questions, so I am very worried that I won't have the experience to answer these questions in interviews. My biggest fear would be to just say "I haven't had any experience with this yet" in response to a question in an interview. I would be dropped in a heartbeat.

First, the ability to say "I don't know" is a huge thing for you to say, since it's an honest answer and will give a general good impression on your interviewer (provided the question isn't a basic one :p). If you want to prepare for these interviews, I recommend reading Programming Interviews Exposed and Cracking the Coding Interview (which you have read, but I'll mention it here simply for other people's benefits) (in that order), to brush up and learn about technical interviews.

> Finally I want to note that throughout this time I have been working through "Cracking the Coding Interview" [...]

Can you elaborate on what you mean by "Working through"? You don't (and shouldn't) be able to answer all those questions from memories, but understand the general thought process and tricks to solving them. It's very unlikely you will receive an exact question from the book, but a variation of it might appear. It's also important to note that each problem should take no more then 30 minutes to solve (some far less).

u/brettb515 · 3 pointsr/cscareerquestions

I recently completed a job search in a major career shift. I have degrees in a different engineering branch, like yourself, and have been working in that industry for the past few years. Along the way I picked up programming as necessary. For various personal reasons that I'll skip over, I recently decided to make the jump to tech/CS, and have accepted a job at one of the "big 4" -- haven't started yet.

In terms of prep, here's what I did. YMMV.

  1. I was already pretty proficient in Python. If you're not proficient in one of the widely accepted interview languages, learn at least one, and be very comfortable in int.

  2. I had basically zero CS theory under my belt, so this is where I had to do the biggest prep. I picked up these two books, which are widely recommended (1: https://amzn.com/1118261364, 2: https://amzn.com/0984782850). Then I worked through them cover to cover -- I read every chapter first, and then I just solved problem after problem.

    Sites like hackerrank.com have some good problems to practice, too.
u/FullOfEnnui · 3 pointsr/cscareerquestions
u/ikkebr · 3 pointsr/brasil

> 1) Como professor universitário você deve ter visto bizarrices (especialmente se foi em federal). Tem algumas histórias pra contar?

Não lembro de nenhuma história bizarra não. Era uma universidade privada e durante o turno da noite, então a maior parte dos meus alunos trabalhava durante o dia e no geral era um pessoal bem mais maduro do que o normal. Uma vez fomos num evento de tecnologia e um dos meus alunos me mostrou um site de vídeos de putaria (samba porno) e tal (achando que eu obviamente não manjava dos paranauês), e eu disse que era amigo do criador do site (que por sinal também estava no evento e é uma pessoa finíssima).

> 2) Poderia dar umas dicas para entrevistas (especialmente na área de TI)? Melhor roupa, o que não fazer, etc...

Tenha um LinkedIn atualizado (github também ajuda bastante), participe dos eventos de comunidade que você puder participar (e não só as semanas acadêmicas do teu curso). Embora TI seja uma área grande, boa parte das boas ofertas de emprego vão partir de pessoas que te conhecem ou já trabalharam com você, então é muito importante se relacionar bem e conhecer todo mundo (mesmo que sejam pessoas de áreas ou linguagens diferentes das que você trabalha).

Nunca tive problemas com dress codes, gosto de vestir camisetas engraçadas (threadless e tal). Se requer um pouco mais de formalismo, seja formal. Mas nas áreas que eu transito, pessoal é bem informal mesmo, com escritórios legais e coloridos, então não se importam muito com roupas desde que eu não esteja pelado (eu acho melhor não usar Crocs, nem Hawaianas, só pra garantir).

Tem dois livros bem interessantes, mesmo que você não vá fazer entrevistas nas empresas grandes, pois tratam sobre problemas de computação e tem explicações detalhadas que podem ajudar a melhorar a maneira como você resolve problemas. O primeiro é o Cracking the Coding Interview ( https://www.amazon.ca/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=sr_1_1?ie=UTF8&qid=1501540854) e o segundo é o Programing Interviews Exposed ( https://www.amazon.ca/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/r ). Faz bastante tempo que li eles, mas esse segundo é bem interessante pq ele tem um compacto de tudo que você viu na graduação, de maneira bem corrida (você tem que ter aprendido as coisas), mas fácil de lembrar.

> 3) Me dá emprego?

Já fechei minha empresa

> Obrigado pelo AMA.

u/Stupidenator · 3 pointsr/rutgers

Honestly you're in a great place with that experience, so the thing to do now is just apply (online!). Apply to the big companies like Google, Amazon, Microsoft (usually a traditional resume + form) and to startups in NYC and SF (often more informal).

You'll also need to learn how to do technical interviews, which comes down to have tight grasp of data structures and thinking on your feet. I'd recommend this book to get started.

u/cjt09 · 2 pointsr/programming

I've found the following to all be really helpful:

u/purpleandpenguins · 2 pointsr/EngineeringStudents

Programming Interviews Exposed: Secrets to Landing Your Next Job is a great book. It comes with advice on both soft skills and technical questions, as well as a bunch of examples.

Some of my older friends who have worked for Cisco, Google, and Microsoft highly recommend it. It might be focused a little more on CE/CS than EE, but I think it would still be helpful in general.

u/leafarnandi · 2 pointsr/learnprogramming

I thought this book was excellent: Programming Interviews Exposed: Secrets to Landing Your Next Job!

It has lots of examples and guides you through how to think about them in a way to display your knowledge about different comp sci topics.

u/Mr_Bennigans · 2 pointsr/gamedev

> I think if I learn how to program with an aim to work as a software developer and make games on the side, is this viable after just turning 20?


There's nothing wrong with the age of 20. I started school at 20, graduated in four years, and found work as a software engineer right out school.


What you have to figure out is how to make the best of your time left in school: should you take a class or two on programming and graduate on time, or (more dramatically) change your field of study to computer science and spend a few more years in school? That's something only you can decide. If you want to finish your architecture program and graduate in a reasonable amount of time, I can assure you that your math and physics background will be enough to get you work as a software engineer, but only if you can actually program.


Part of working as a software engineer means being able to program in multiple languages. That's because it's not really about the language, it's about the logic. All languages follow certain patterns and while syntax or wording may change, they all share ways to implement the same logic.


It also means knowing what data structures to use for what scenarios. The phrase "There's no such thing as a free lunch" comes to mind. All data structures have advantages and weaknesses and no data structure is perfect for every occasion. Know the differences, know the performance impact, and be able to speak to them. This won't just help you write better code, it will help you land a job. Interviewers love to ask questions about data structures.


As a corollary to data structures, you also need to know your algorithms. You need to know the performance impact of different ways to search and sort, traverse graphs, and find the shortest path (particularly relevant for game programming).


You said you're learning Python and that's great. Python is a great way to learn how to program. It's dynamic, it's friendly, and it has a rich library. Learn Python inside and out, then pick another language and figure out how to do the same things. C++, Java, and C# are all pretty popular in the industry, pick one of those. Once you know how to program in a few languages, you focus less on minute implementation details specific to one language and more on high level abstraction shared across multiple languages. By that point, you'll no longer be speaking in code, you'll be speaking in plain English, and that's the goal.


I don't know many good free online resources for learning languages, I learned mostly out of textbooks and lecture slides (along with lots of practice). There are some links in the sidebar to some tutorials that are worth checking out. Beyond that, I can recommend some books you may want to read.


  • Algorithms in a Nutshell - one of the best quick references on algorithms you can read
  • C# 5.0 in a Nutshell - excellent language reference, aimed more at advanced programmers, though it's comprehensive in scope, covering everything from language syntax and structure of a program to more complex tasks like threading, multiprocessing, and networking
  • Learning XNA 4.0 - a great game programming book, teaches 2D and 3D game development using Microsoft's C# and XNA framework
  • Java in a Nutshell - another great language reference
  • Starting Out with Java - introductory programming text, has end-of-chapter problems for reinforcement, a little pricey so see if you can find a used older edition
  • Starting Out with C++ - another good introductory programming text from Tony Gaddis
  • Python in a Nutshell - I can't speak to this one as I haven't read it, but I have been extremely happy with O'Reilly's "... in a Nutshell" series so I suspect it's as good as the others
  • Learn Python the Hard Way - free online book about learning Python, begins with simple examples then teaches you how to break it so you know both sides of the story, wasn't as comprehensive as I'd hoped but it taught me the basics of Python
  • Programming Interviews Exposed - sort an all-in-one book covering lots of different topics and giving an insight into what to expect for that first interview

    EDIT: I added Programming Interviews Exposed because it's a good reference for data structures, algorithms, and interview questions
u/rsmudge · 2 pointsr/netsecstudents

I recommend that you take a look at Programming Interviews Exposed. This book is a collection of quick/well written explanations of different Computer Science concepts (stacks, heaps, lists, and other data structures are covered). I read the first edition of this book years ago and I loved it for its brevity.

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=asap_bc?ie=UTF8

u/followmarko · 2 pointsr/UnethicalLifeProTips

Sorry, got busy for the holidays.

It seems like you're falling victim to the same cycle that a lot of us have. You can't get a job without experience, but you can't get experience without a job. It doesn't make a ton of sense.

Google/Amazon/Uber rely heavily on data structure and algorithm knowledge in their interviews. I have the first edition of this book for JS data structures. I went through it and coded all of them out. It helps to understand them.

In my master's program, I had a class on algorithm design that in hindsight, I wish I had paid more attention to. We used this book but I think there are better ones available now.

I have this book as a general interview reference which may summarize the above two suggestions better for the interviews.

Time/space complexity was also helpful information to know. Big O notation is a useful thing to have in your arsenal to begin with.

These are just suggestions for notorious interviews for infamous tech companies. Not every company is going to grill you about these concepts. But having been someone who has failed several intense programming interviews, and now conducts them for our company, I think all of this information is applicable, and a true tech company likely won't grill you about job experience if you can apply these concepts on a whiteboard without thinking about it.

Data Science is a great spot to be in right now. Spend a little time every day applying some programming principles to big datasets. It should be enough to land you a job at a solid company if even at an entry-level position.

Also, get out of AngularJS and learn Angular 2+. React/React Native also seem to be in high demand. They have become commonplace at most large companies trying to stay on the edge of technology for their users.

u/rljohn · 2 pointsr/gamedev

Sent a PM with more personal details.

The book I used to study was an earlier edition of:
https://www.amazon.ca/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364

I'd apply to multiple positions that were interesting from the same company, but never to the same position more than once. Usually listings are kept fairly up to date.

u/garyandbarry · 2 pointsr/cscareerquestions

The answer to your question is highly dependent on the company in question. In general, the more competitive/higher paying the internship, the more you'll need to know. What you're learning in your data structures and algorithms course should be a good foundation, but you might want to do a bit of self studying.

http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364

Both of those books will offer good preparation and can I believe be found online. You don't need to go through the entire thing, but definitely reading a bit and trying out a couple of practice problems will give you a feel for what to expect.

u/T_Munchakoopas · 1 pointr/cscareerquestions

I highly recommend this book.

This one is also great.

Not only do these provide a lot of good examples of how the interview process works at Google (as well as Facebook, Amazon, Microsoft, etc), but they also provide a lot of good information on things you can do to prepare yourself months or even years before trying to start the process.

u/hackcasual · 1 pointr/webdev

For finding jobs,

Job Listing Websites:

  • monster.com
  • careers.stackoverflow.com
  • linkedin

    In larger cities with a lot of tech companies, you can find job fairs where companies recruit.

    Lastly, find a few local companies and go directly to their job listings.

    Not having a CS degree will be a negative but more and more companies are broadening their backgrounds for Junior level positions.

    When interviewing with a company, look them up on glassdoor to see what developer interviews are like there. You can also ask the recruiter at the company what to expect. Technical interviewing is all over the charts in terms of how its conducted, expect a mix of:

  • Technical questions what's the difference between a raven and a writing desk?
  • Programming psuedo code questions compute the inner radius of the gordian knot
  • Background questions describe a time where you shouted something really profane at your computer
  • Behavioral/Values question The tortoise lays on its back, its belly baking in the hot sun, beating its legs trying to turn itself over. But it can't. Not with out your help. But you're not helping.
  • Team fit Star Trek, TNG or DS9?
  • On site live coding, like pseudo code but you're expected to get it to compile
  • Homework, take home coding challenge

    In general I would recommend passing on any company that wants more than about a day onsite interview + 8 hours. If they're not respecting your time for an interview, they won't respect your time while working for them.

    I'd recommend less focusing on JS/Angular and more focus on drilling for interviews. This book is great: https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364
u/everylittlethingido · 1 pointr/ITCareerQuestions

Take a look at this and this book

u/Billz2me · 1 pointr/learnprogramming

Cracking the coding interview has a lot of questions and answers, not much else. That being said, it's very good and highly recommended.
I also recommended Programming Interviews Exposed

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=sr_1_1?s=books&ie=UTF8&qid=1376967251&sr=1-1&keywords=programming+interviews+exposed

u/SenpaiCarryMe · 1 pointr/cscareerquestions

I wish I could have done double degree/major at my university. I could have taken CS courses but curriculum structure between CE/CS was too big of a difference... Needing a ton of pre-requisitions that I did not have in CS. And department wasn't willing to give me an override (yay overpopulation).

And my CE is mostly hardware focused albeit it is being advertised as CS+EE. And hardware as in... mostly non-computer related. Quantum physics in circuits, microelectronics, etc etc. I'd consider those as more of EE with electrophysics concentration. And you'd be surprised how many low-level embedded programming classes we have.... three. Two of those three aren't scheduled to be offered in the next five years, including previous 3 years, due to budget cuts. So basically one. Every semester we were promised more CE courses would be offered.... except more CE courses were cancelled instead.

Any particular book you would recommend? I'm currently reading through this book and it is helping me a lot.

And congrats on your offers!

u/tdudley22 · 1 pointr/devops

Check this book out.:
Programming Interviews Exposed

It has the concepts you mentioned you were struggling with, with some code examples. It’s good reference material.

u/drebin8 · 1 pointr/IAmA

The best way to get a job is to get an internship and impress the hell out of them. I had an internship over this last summer, and while my team couldn't hire me (budget, no open req), another team opened up a req and contacted me and hired me on the spot (no interview). The guy I'll be working for was my scrum leader, so I already knew him. Connections are extremely important. Network as much as you can. Talk with other CS students and find out their connections - I have tons of connections for which I recommend other friends. You are far more likely to get a job with a recommendation than you are by just applying on the website.

Be sure to check Glassdoor so you know what kind of salary to expect. You can use Glassdoor as a basis for negotiation.

Make as many connections as you can, get an internship, etc. Make some games on your own (Unity Engine is free). Make something you can show to companies to show that you know how game development works. Read books about game development, as well as how to do well on CS interviews (check out "Programming Interviews Exposed").

Edit - deleted stuff that wasn't really necessary.

u/donutbagel · 1 pointr/cscareerquestions

Starting your own projects or getting involved with open source projects shows initiative to recruiters when you apply again in the Fall. At the same time you could get ready for future interviews by studying technical questions and making sure you could answer basic behavorial questions well.

Its okay to not have internships the first 1 or 2 years. Being a freshman definitely makes it harder because you are not about to go fulltime anytime soon. I myself did not have any offers for the first two summers. But I did what I just described to you and landed a Big 4 company without any internship experience.

The fact that you already tried applying will help you in the future because you will learn from any mistakes you may have made.

These are the books I used, like many others:

http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X/ref=sr_1_1?ie=UTF8&qid=1395274746&sr=8-1&keywords=cracking+the+coding+interview

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=sr_1_1?ie=UTF8&qid=1395274783&sr=8-1&keywords=programming+interviews+exposed

The first contains shorter explanations of topics and mainly questions and solutions. The second has longer explanations of what you need to know for each topic. Very great resources that helped me become comfortable with interviews.

Have you had your resume reviewed by anyone? I thought my resume was solid 2 years ago but now that I look back at it, there were tons of mistakes.

Hopefully this helps.

u/pdoogs83 · 1 pointr/gamedev

Programming Interviews Exposed helped me land my internship.

u/NotAGeologist · 1 pointr/cscareerquestions

As /u/Amarkov said, you're not screwed and you really should put in the time to learn basic algorithms and data structures. But, I also think it's a bad idea to go overboard.

For example, you should know why and when you'd use a binary search tree over a hash table, and be comfortable implementing basic graph algorithms (BFS, DFS, shortest path). But, much beyond that, and you are likely better off spending your time actually building stuff and developing your coding skills. I know most of the big tech companies will grill you hard on CS, but many smaller companies will be more concerned with how quickly you'll be productive with their tech stack. Rather than have you implement a graphing algorithm, they'll want to see that you're comfortable with Java's threading model or writing a JQuery plugin or working with Active Record or whatever.

I'd recommend grabbing either of these books and working through at least 2 or 3 questions in the chapters you're weak on. At a minimum, they'll help shine a light on your blind spots.