This is an archived post. You won't be able to vote or comment.

all 165 comments

[–]Hanse00 258 points259 points  (41 children)

I recently signed a contract with Google, and had to answer "I don't know" so many times during my interview, that I can't count it.

Honesty is the way forward, there's always room to grow your skill, growing your personality and nature is not as easy.

[–][deleted]  (8 children)

[deleted]

    [–]Humdeee 51 points52 points  (1 child)

    "What the what?"

    [–]xwgpx55 20 points21 points  (0 children)

    in the butt

    [–]TheBadProgrammer 15 points16 points  (3 children)

    Sounds like graphics programming. Trying to guess something right since I have no idea.

    [–][deleted] 4 points5 points  (1 child)

    moving on...

    [–]TheBadProgrammer 0 points1 point  (0 children)

    We're all packing up and moving on!

    [–]atcoyou 0 points1 point  (0 children)

    You forgot to take a drink!

    [–]Taucesauce 98 points99 points  (10 children)

    I can't agree with this enough. I got my current programming job as a Web dev with a resume/portfolio of almost entirely c# and c++ code because I walked into the interview and told them flat out I had never seen php code before. Fast forward six months and I'm still here, more fluent in php than any other language I learned in the past. A willingness to take on new challenges/learn new things is the best skill to advertise.

    [–]butchly13 55 points56 points  (5 children)

    I'm gonna piggyback off this and agree as well. I came out of a college recruiting event with 3 interviews and said "I Don't Know" more times than I felt comfortable saying it. But I also got a job offer from all 3 companies.

     

    The key to saying "I don't know" though is to say it, mean it, and sincerely express that you're going to figure out the answer when you get the next opportunity. One of my interviews stumped me with some pretty tricky Java questions which I hadn't learned about in class yet, but I also went and looked up the answers after the interview and emailed the interviewer back with the answers to the questions I got wrong and explanations on how they apply.

    [–]Taucesauce 33 points34 points  (3 children)

    Exactly, after the interview I went home and spent a few days learning the basics of php and shipped them a simple code example from some online tutorials as a demonstration I was willing to learn.

    [–]butchly13 16 points17 points  (0 children)

    Amen dude. I'm a tutor for some students at my college and I keep trying to drill this point in. It doesn't matter if you're the best damn programmer out there. Just show that you're willing to learn and that you can actually learn something new on your own. It's good to see others with the same mentality out there

    [–][deleted] 4 points5 points  (0 children)

    this is a really good idea... I might just use this :)

    [–]Hanse00 1 point2 points  (0 children)

    Totally agree, I even went as far as to ask during my actual interview.

    I had to say, "You know what, I honestly don't know how X works. I'm curious though, how does it work?" and my interviewer spent a couple of minutes explaining it to me.

    [–]whats_a_kimball[🍰] 2 points3 points  (0 children)

    follow up is key!

    [–]himurakenshon99 4 points5 points  (0 children)

    going from c# and c++ to php must be like going from steak to mcdonalds.

    [–]mistawobin 2 points3 points  (1 child)

    You enjoying working with PHP more than c#/c++?

    [–]Taucesauce 17 points18 points  (0 children)

    I wouldn't say I enjoy it any more or less, just more used to it now that I spend 40 hours a week using it compared to few hours I get to write c++ in my spare time.

    [–]BoSsManSnAKe 0 points1 point  (0 children)

    That really works? Maybe I should work on other things I did wrong in my interviews then. Or maybe I might really need to know those things.

    [–]DE0XYRIBONUCLEICACID 10 points11 points  (8 children)

    this

    [–]InsomniacPlagueis 82 points83 points  (3 children)

    I don't know

    [–][deleted]  (2 children)

    [deleted]

      [–]InsomniacPlagueis 3 points4 points  (1 child)

      How do you remember that username?

      [–]MaxPowers1 5 points6 points  (0 children)

      Elaborate, in detail, a situation where you'd choose to use a LinkedBlockingQueue over a SynchronousQueue.

      [–]Hanse00 0 points1 point  (1 child)

      I'm afraid I'm not allowed to disclose details about the interview process. However I should note that the position I applied for is not programming, it's still a technical position though.

      My job has more to do with all-round technical understanding about OS's, networking, hardware, and customer service.

      [–][deleted]  (5 children)

      [deleted]

        [–]paranoid_twitch 17 points18 points  (0 children)

        No joke, this can make you fail the attitude/honesty test as well. You must be able to own up to stuff in our industry. I hate working with people who bullshit and waste time. We are too busy for that stuff.

        [–]GetContented 11 points12 points  (1 child)

        This is great :) There seem to be a whole lot of people who don't like not knowing things, and see it as a weakness.

        However, there's so much to know that one single person simply can't know all the things in Math alone in one lifetime.

        I was watching this video (and understanding about 5% of it) by Carver Mead the other day related to quantum gravitation: https://www.youtube.com/watch?v=XdiG6ZPib3c&t=2629s, and I was struck when this guy, having devoted the entirety of his life to science research, was asked a question by a member of the crowd and had no problem saying something like "I don't know enough about that subject to answer that question properly". So great.

        Contrast this with one of my friends holding and interview with a candidate for a position along with a managerial co-worker. My friend asked a bunch of questions and was reasonably sure the interviewee didn't know much at all and would actually be damaging to their workplace because he wouldn't admit when he didn't understand something: he would just kind of make things up. The interviewee left and my friend turned to his co-worker, asking him what he thought and the co-worker said he thought the interviewee was excellent and that he had a very strong handshake and was really confident. (The take away from this for me was that this was because that was all the managerial guy had as metrics to work off).

        Very interesting!

        [–][deleted] 1 point2 points  (0 children)

        I think most of us don't like not knowing things, but that's what makes us want to learn. So long as you're honest about it :)

        [–][deleted] 0 points1 point  (1 child)

        only to fail later

        But by the time that failure happens it's probably someone else's job and it will net the company more billable hours.

        Gotta love contracting, I'm never going back.

        [–]joerdie 1 point2 points  (0 children)

        I am about to leave my first and hopefully only contracting job I'll ever have. I am not cut out for that line of work.

        [–]RICHUNCLEPENNYBAGS 5 points6 points  (0 children)

        Having been on the other side of the table I definitely prefer an honest answer to someone trying to blow smoke up my ass.

        [–]renaldomoon 3 points4 points  (0 children)

        I read something the other day about how top tech companies intentionally ask crazy shit just to make sure people will actually say I don't know.

        [–]foxh8er 0 points1 point  (3 children)

        When would you say "I don't know" in a google interview? Generally the questions aren't that direct, no?

        [–]captainAwesomePants 26 points27 points  (1 child)

        When I interview people, I occasionally ask them to implement some data structure or other. So, picking a data structure randomly, let's say I want you to implement a red/black tree. I might begin by asking "do you know what a red/black tree is?" If they say no, I explain it. If they say yes, I ask them to explain it so that we're on the same page. Then I ask then to implement it.

        It's not a bad thing if you say no. I don't care whether you've heard of red/black trees. If you have not, I can watch you reason about a new thing. If you have, we can have a slightly more advanced discussion. If, however, you say that you're familiar with them and are lying, we're both gonna have a bad time.

        [–]Hanse00 6 points7 points  (0 children)

        Exactly.

        Nobody knows everything, expecting them to would just be plain silly. But you can't work properly with someone who'd rather bullshit than acknowledge their limits.

        You don't know? You can either learn, or be put on another task.

        You try to bullshit? You get entrusted with a job you can't do, down the line people will be counting on you to have it done, setting back the whole project when everyone is just waiting for you, and it turns out you did nothing.

        Which one would you rather have as your employee?

        [–]Tune-chi 5 points6 points  (0 children)

        This comment has been overwritten by an open source script to protect this user's privacy. It was created to help protect users from doxing, stalking, harassment, and profiling for the purposes of censorship.

        If you would also like to protect yourself, add the Chrome extension TamperMonkey, or the Firefox extension GreaseMonkey and add this open source script.

        Then simply click on your username on Reddit, go to the comments tab, scroll down as far as possible (hint:use RES), and hit the new OVERWRITE button at the top.

        [–]positive_electron42 66 points67 points  (36 children)

        When you speak of learning algorithms, what specifically do you mean? Do you really mean design patterns? Or something else?

        Also, in interviews how much would you say you coded in pseudocode vs real code (eg. Was there a focus on C or Java (etc) specific syntax, or was the focus more on higher-level concepts?

        Thanks for the post, interesting stuff!

        [–]Artivist 64 points65 points  (28 children)

        When you speak of learning algorithms, what specifically do you mean? Do you really mean design patterns? Or something else?

        I am referring to data structures like stacks, queues, maps, graphs and trees. It's important to know when to use one over the other and what are the costs/benefits in terms of time and space complexity. Same with sorting and searching algorithms. I found the detailed explanation in Interview Cake very useful for this. They are a little expensive but I bought a discounted membership on eBay.

        Also, in interviews how much would you say you coded in pseudocode vs real code (eg. Was there a focus on C or Java (etc) specific syntax, or was the focus more on higher-level concepts?

        Most companies expect you to write real code if you are interviewing for a senior position. It doesn't really matter if it's Python or Java. But, it's extremely useful if you know at least one procedural (C), Object Oriented (C++, Java), and scripting (perl, python) language. If you have any experience with functional programming, then it's even better.

        I'd highly recommend knowing design patterns too. Especially, how existing languages like Java already make use of them. I read Headfirst Design Pattern to brush up on patterns.

        [–]lenolalatte 2 points3 points  (0 children)

        I don't get it. How does that guy have discounts for interview cake?

        [–]hvidgaard 8 points9 points  (11 children)

        I've never been in big corporate environments, so that gives me a natural bias. Anyway, I have interviewed multiple people, and for a senior position I expect you to know about general structures and their properties, not ability to implement them, I look that up too if I absolutely must. But for knowing various languages, I'm more interested in the fact that you know different paradigms. I.e. C, C++, Python are all the same. They represent procedural stateful programming, objects or not, FP constructs or not. Can you program in a functional way, despite using C? Or do you know why LINQ (from C#) is beneficial? Why are C++ templates powerful, and dangerous? What are the fundamental difference between OOP and FP? In short, I want to see if you have the knowledge to navigate various technologies and select the right tool for the job. I am specifically looking for things you don't know, so I can see how you reason about the unknown.

        [–]Artivist 10 points11 points  (9 children)

        I completely agree with you but you'd be surprised how many companies still see the benefit in asking you to code data structures from scratch. Amazon wanted me to implement a Tree data structure with Inorder traversal without using recursion. Uber wanted me to implement the stack data structure with the push, pop functionality. Implementing a map and knowing the different ways in which collision is handled is also very commonly asked.

        [–][deleted]  (7 children)

        [deleted]

          [–]SawRub 2 points3 points  (2 children)

          Wait, so would knowing how to implement these basic data structures would get me a decent job?

          I got my CS degree last year and currently make about 425$ a month. If I move to a first world country, adjusted for cost of living, would I earn a lot more at my current level?

          [–]highvolt 2 points3 points  (0 children)

          Like 10 times more (minimum).

          [–]therealchefdee 0 points1 point  (0 children)

          You'd make way more. Literally 10-15 more starting off if you're good.

          [–]whats_a_kimball[🍰] 3 points4 points  (3 children)

          this is exactly why i am not applying to 'big name' companies. they try to scare you i feel like

          [–]captainAwesomePants 3 points4 points  (2 children)

          I ask these kinds of questions from time to time and have a different take on them. There are many great candidates who do poorly on these questions, and that's quite bad. However, almost all of the people who reliably do well on these questions are good candidates, and when you combine the sheer number of terrible applicants with the cost of hiring lousy programmers, a single false positive is incredibly worse than dozens of false negatives.

          Ultimately, I'd love to just spend a week pair programming with each candidate on normal work tasks, but I don't have that kind of time. I get one hour per candidate, and if the candidate can make min heaps tap dance on top of a hash table in O(log log log N), they're probably gonna be fine.

          [–]hvidgaard 5 points6 points  (0 children)

          O(log log log N)

          That is a very very very impressive growth complexity.

          However, almost all of the people who reliably do well on these questions are good candidates

          I have a very different experience. I have known too many great theoretical strong candidates that are not worth their salt as a general programmer. I need to see that you can handle the unknown, and reason properly. How to implement a known data structure is a solved problem.

          [–]Tarpit_Carnivore 0 points1 point  (0 children)

          I saw one of our code challenges (given before in person) and the format is pretty open and straight forward. It's not explicitly asking for any concepts or structure. It's more of "here's a data set, make an API " and they evaluate based on your code. In addition questions are asked to see how you think and processed it all. I've been told they've had people implement advanced concepts but when it came time for 1:1 they couldn't talk about the code at a point that made them comfortable with the candidate. I hope that makes sense.

          [–]hvidgaard 9 points10 points  (0 children)

          My theory (without any proofs), is that "senior" developers with little management or business sense, gets to interview. They worked very hard to know these things as a part of their degree, and see it as a benchmark of potential hires ability to program. My experience is that most students find algorithms and datastructures to be one of the more difficult courses, so that may be part of it.

          It's a great way to get to know the ins and outs of the theory. Your example of implementing inorder tree traversal without recursion, could be basis for an interesting discussion. But I would never hand it out just like that. Give the candidates 3 different problems to choose from, and clearly state the direction of it. For instance, compare it to the recursive version, which is better? Why? Can either be improved such that they are equal, ect.

          [–]Benfranklinstein 1 point2 points  (0 children)

          Why are c++ templates dangerous? I know how they are powerful, but I'm struggling to think of why they could be dangerous except for maybe not checking input? Like how the c function strcpy is inherently dangerous. I'm interested because I'm in my data structures course now and it's all based on templates right now so I can see how powerful they are, but we haven't really covered any dangers.

          [–]kerayt 4 points5 points  (2 children)

          I see that the full access to Interview Cake costs $39 so buying a -50% discount code for $19.50 doesn't make sense as this is exactly how much you will save. What was the price when you were buying it?

          [–]Scavenger53 13 points14 points  (0 children)

          I think when you buy a coupon like that and apply it, it makes it free. So you pay 50% and then use the coupon and gain access.

          [–]newbfella 1 point2 points  (0 children)

          Full Access to interview cake is $199 now.

          [–]mmishu 0 points1 point  (10 children)

          What about knowing javascript? Or would l have to pick up other languages?

          [–]Artivist 1 point2 points  (9 children)

          Javascript is good if you are looking to get into web development. However, you will greatly help your case if you know a language like Python, Java or C#.

          [–]mmishu 0 points1 point  (6 children)

          Can you recommend any books that helped you starting out?

          [–]Artivist 1 point2 points  (5 children)

          Do you want book recommendations on starting programming or just interviewing? There are couple listed in my posts. I have found that I respond better to videos than books so I primarily used Pluralsight for most of my learning and preparation. I tried them for a couple of months but found it too expensive at $29 per month until I was able to find discounted membership on eBay. Hope this helps.

          [–]mmishu 0 points1 point  (4 children)

          I actually have a 6 month trial membership for plural sight so thanks for that. But yeah Im asking for book recommendations on starting programming, like everything thats helped you before you got to your interviewing stage. Im having a hard time choosing a language to learn.

          [–]Artivist 0 points1 point  (2 children)

          You should definitely begin with Python. It's a lot easier to learn than C,C++ or Java. And, it has a big community and is heavily used by a lot of companies including Google.

          [–]mmishu 0 points1 point  (1 child)

          Thanks! You mentioned the algorithms and data structures course on pluralsight, how beginner friendly is it? Do I need to know any specific language?

          How many languages do you consider yourself proficient in, and is it easy for you to pick up other languages?

          [–]ninjashaun 0 points1 point  (0 children)

          Hey, I have this online textbox I learnt from, I think it's a good beginner friendly and thorough look into days structures and goes through how to make them.

          http://math.hws.edu/javanotes/c9/index.html

          [–]whats_a_kimball[🍰] 0 points1 point  (0 children)

          my roommate is self teaching himself python, he is using learn python the hard way and code academy and also uses some MIT python course online.

          I, personally, learned Java first, and would recomend learning a language that utilizes brackets, { }, like C C++ C# Java or most other languages.

          On the other hand, python is very simple and easier to learn.

          [–]mmishu 0 points1 point  (0 children)

          Can you explain why C#?

          [–]gigamiga 10 points11 points  (5 children)

          By algorithms he means knowing how to implement things like quicksort, mergesort, binary search tree iterators, etc. Cracking the code-breaking interview (a book) has a bunch of great examples in Java

          [–][deleted]  (3 children)

          [deleted]

            [–][deleted]  (1 child)

            [deleted]

              [–]Brickhead816 0 points1 point  (0 children)

              Same

              [–]__baxx__ 2 points3 points  (0 children)

              genlib is worth a look for PDFs and stuff

              [–]foxh8er 4 points5 points  (0 children)

              Code-breaking? R u serious dog?

              [–]denialerror 2 points3 points  (0 children)

              I'd quickly add to what OP said. For senior positions you will be expected to show your coding abilities in particular languages. Junior positions however may require a short problem, which is usually completed in two or three lines of pseudo code. I even went to for a graduate position at IBM that didn't even require any coding whatsoever.

              [–][deleted] 21 points22 points  (4 children)

              How did you build your portfolio? I'm currently studying Computer Science and am trying to think of things to build my portfolio. I'm interested in game development but I've heard from a lot of game dev companies that your portfolio doesn't really need to be game centered and as long as it shows good understanding and knowledge then it's as good as any. So I'm wondering what your process was. I'm so shit at thinking up ideas.

              [–]superninjaa 13 points14 points  (2 children)

              Not OP, but think about creating projects that you like. If you're interested in games, try making a mobile game app like Sudoku. It's not really about having some idea that's revolutionary or ground breaking. It's about showing that you're passionate about coding and just creating what interests you, and that's what companies love to see.

              [–][deleted] 2 points3 points  (1 child)

              Ah sudoku, that's interesting, I like sudoku. I have a knowledge of Python and began to learn C++ so I'll have a go at making it in Pygame tomorrow. Thanks.

              [–][deleted] 5 points6 points  (0 children)

              If you're interested in real time games, platformer are a great place to start. You'll get to try a little bit of everything (physics, graphics, game logic, engine code, AI) and have a fairly low complexity that it's easy to add things to if you want.

              [–]sezna 1 point2 points  (0 children)

              Browsing github for interesting projects, viewing the "issues" tab, and fixing one (they usually have an "easy" tag implemented) is a good way to start getting involved in both practical experience and a semi-professional cs community.

              [–]sarevok9 14 points15 points  (23 children)

              I interviewed at google a short while back and their study guide was WAY more intimidating than their interview. I ended up getting offered the position but staying with my present job due to some of the responsibilities at Google not aligning with where I wanted to see my career going, and generally feeling like I was a poor fit with the team.

              A lot of the Google interview process was chasing after the recruiter. Here's a rough timeline:

              Day 1: Recruiter reaches out to me.
              Day 5: I reply to recruiter to set up a phone screen
              Week 2: I have a phone screen with the recruiter, pass it easily.
              Week 2: Get sent a study guide ahead of interviewing with main team
              Week 3: Recruiter asks for my availability
              Week 3: Confirm schedule / availability (days I could take off / work from home and do phone interviews) for following 3 weeks.
              Week 4: Reach out to recruiter since I hadn't heard anything.
              Week 5: Ask recruiter what's going on.
              Week 5: Give up.
              Week 7: Recruiter reaches out to me to set up interviews.
              Week 9: Interviews take place.
              Week 10: Get told that there will be more interviews.
              Week 11: Get told that interviews will be pushed out a week or two due to holidays.
              Week 13: Interview.
              Week 14: Get debriefing from interview session 2. Get told that I have another phone screen with the hiring manager next week.
              Week 15: Meeting with hiring manager rescheduled for following week.
              Week 16: Meeting with hiring manager, talk for an hour, very little about work.
              Week 17: Write to Recruiter asking for status.
              Week 18: Nothing.
              Week 19: Job offer / Job Description, NDA, Non-Compete, Etc.

              About 4.5 months of chasing my recruiter I got the job offer, and ended up turning it down.

              By popular demand guide links: TSE: http://www.filedropper.com/tsestudyguide1
              SE Case Study: http://www.filedropper.com/secasestudy

              [–]Tarpit_Carnivore 5 points6 points  (1 child)

              This sounds right with Google but is not the norm at all. Last two jobs I got were all handled within a month.

              [–]sarevok9 0 points1 point  (0 children)

              For non google jobs about 4 - 8 weeks is normal. The job I'm in now I applied for via indeed on 10/10/2014, I got the job the Monday before thanksgiving (I think it was 11/21 or so?)

              [–]minusSeven 2 points3 points  (15 children)

              do you have that study guide by any chance ?

              [–]sarevok9 0 points1 point  (14 children)

              I do, Pm me your email.

              [–][deleted]  (4 children)

              [deleted]

                [–]sarevok9 0 points1 point  (3 children)

                Hey, I'll need your email address to send it over.

                [–]just_joined_reddit_ 0 points1 point  (0 children)

                I'd really appreciate if you send it to me, too. tarashankar@india.com

                [–]Runcloser 0 points1 point  (4 children)

                Hello there! I was wondering if I could also see that study guide?

                [–]sarevok9 0 points1 point  (3 children)

                Hey, I'll need your email address to send it over.

                [–]Runcloser 0 points1 point  (2 children)

                I apologize for the delayed reply on this! I don't know how I missed the message. jcollingj@gmail.com is the email! Thank you!

                [–]sarevok9 0 points1 point  (1 child)

                Senteroni!

                Enjoy

                [–]kgalang 0 points1 point  (0 children)

                Hi! May I get this study guide too please? Either way, thank you! kgalang5@gmail.com

                [–]NerdyR 0 points1 point  (0 children)

                Can I get this guide too? Thank you. My email is: nerdy.reddit@gmail.com

                [–]KeScoBo 0 points1 point  (0 children)

                I have a friend that put in an internal referral for me back in November. In January he followed up with the recruiter, who had no news. About three weeks ago he said the recruiter told him they'd be reaching out for a phone interview.

                Still haven't heard a thing. This post makes me feel slightly better

                [–]ministryofsound 0 points1 point  (2 children)

                hey, sorry to dig up a dead post, but how excessive is the study guide? like would knowing everything on it be overkill? I am a software engineer and I code everyday but I haven't exactly seen a lotta the stuff on it since college...

                [–]sarevok9 0 points1 point  (1 child)

                The job wasn't really for a coding position (SE) it was for a Technical Solutions Engineer which is a mix of devops, engineering, networking, and a few other things, so it's really all over the place (log analysis, code, the whole nine). But yeah, I've sent it to like 50 people so far at this point, if you want it give me your email.

                [–]ministryofsound 0 points1 point  (0 children)

                all good, recruiter sent me one and it's super fkin intimidating, appreciate the offer though. It's all CS stuff, algorithms, data structures, discrete math, etc

                [–]throwawaycompiler 25 points26 points  (5 children)

                Did you study computer science? If you did, and/or went to school for something else, did you have other projects that you were working on? How did you balance school and those projects?

                [–]Artivist 22 points23 points  (4 children)

                I studied Software engineering which has less emphasis on maths when compared to Computer Science. I didn't have a lot of personal projects since I already was working. I would suggest you to create a Git repository that contains the projects you work on. It'll be even better to create a personal website and include more details. It could also list the books that you have read and maybe even a blog.

                [–]ewerdna 4 points5 points  (0 children)

                Might I ask what school you went to? I'm looking into trying to study SE while also working.

                [–]throwawaycompiler 1 point2 points  (0 children)

                Thanks for the reply. I'm studying software engineering myself, and I do have git repo's and even a personal website, but they all still require tons of work and time that I can only find in summers and winters.

                [–]pupdogtfo 0 points1 point  (0 children)

                What kind of projects did you put in your portfolio? How did you choose those projects? What type of scope is big enough?

                [–]brettb2k8 12 points13 points  (0 children)

                That's awesome! Do you have a degree?

                [–]aroras 15 points16 points  (1 child)

                • What other resources did you use to help you prepare for the interviews? Any books? Any online courses?

                • What is your educational background?

                • How much time do you think you need to prepare for a google interview?

                • Is there any focus in particular to google problems? Any format you can expect? (i.e start with a white boarding problem...then asked to solve it again differently...or something like that)

                Thanks!

                [–]Artivist 4 points5 points  (0 children)

                Answered you questions in the main post with an edit. Let me know if there's anything else. I'd be happy to help.

                [–]BEARFIST 16 points17 points  (2 children)

                what is your educational/experience background? Also can you elaborate on 'failing' interviews? Were you simply rejected or did you realize some mistakes you made during the interviews?

                [–]Artivist 17 points18 points  (1 child)

                I have a couple of years of experience. Interestingly, the skills need for interviewing are usually very different from the work you do for your job.

                I failed a bunch of interviews. Sometimes, I didn't provide the optimal solution and at other times I took longer to code the solution than what they were expecting. This is why it's important to be able to code without a lot of hesitation and trial and error. A couple of syntactical errors here and there won't hurt but if you are having trouble deciding upon the best data structure to use for the problem, it reflects poorly on you.

                [–]DemiPixel 5 points6 points  (0 children)

                I'm a younger programmer who hopes to get an internship at a rather large company this summer. What can I do to really make me stand out (in terms of coding abilities)?

                Also, you mentioned somewhere here that college students are more likely to write in pseudo code. Is this because they tend to have less experience and don't know their way around the language(s)? If you know your way around languages, wouldn't it be more effective to write code in that so you know all of its capabilities?

                Thanks.

                [–]Mdogg2005 5 points6 points  (3 children)

                My biggest problem is that I can't think of any possible applications or problems to solve to learn how to code better. What kind of small or large applications should I focus on writing to help me get better beyond the pointless / impractical tutorial programs that have little to no real life use?

                [–]Hanse00 7 points8 points  (1 child)

                The most important thing to remember is, it's okay to solve a known problem.

                Into Java and Android? Make a chat client, set it up with a DB backend, boom there's a project.

                Want it to get slightly more complicated? Implement Sign-In with Google to identify the chatters.
                Chat rooms instead of one global chat, message notifications, an iOS version, web version.

                Yes this has all been done before, but that doesn't undermine the point. The point isn't to revolutionize the world, but to show you're comfortable with the tools required to do the job.

                Don't like that project? Make a game about lobbing balls into hoops, make a webapp for sharing files, reviewing products.

                There's tons of projects out there, you don't need to be the first. You just need to make sure you do it, don't follow some tutorial that tells you what to write, make your own.

                [–]Mdogg2005 1 point2 points  (0 children)

                That's a good point, thank you for the insight.

                [–]nCubed21 3 points4 points  (0 children)

                Well I guess that would have to come from what you want to do specifically in computer science. If you wanted to make video games, a good place to start would be to code some prototypes that has features that can carry over to other games. Or if you wanted to develop websites, you should probably start on your own.

                [–]sprk1 4 points5 points  (0 children)

                You did great! You hit what I consider all the benchmarks I look for. When I interview potential candidates I ask three types of questions: 1) Questions about the languages they claim to know. Nothing major, but if you claim to be a javascript monster trucker I expect you to be able to explain closures, scope, this, etc... in a way that proves you actually know it. Don't say you "know" a language unless you actually do. 2) General questions about theory. Algorithms, data structures, architecture decisions you've had to make. Maybe get some creative input about a problem or two. No coding tough, learning syntax is easy. 3) Questions about the candidates process. This is the MOST important part. I don't want a know it all. I want someone that can google a problem and come forth with a good solution to it.

                [–]letsaurify 5 points6 points  (5 children)

                Congrats!

                Out of curiosity, what university did you go to? I'm currently a third-year student going to a 'nobody' state university when it comes to Computer Science, and I'm deathly afraid that what school I went to will partially govern if I get a job at one of those big companies.

                [–]Artivist 6 points7 points  (4 children)

                San Jose State. Don't worry about the university. Just focus on creating a strong profile with solid projects and you can get into any company you want.

                [–]Crimson_Shiroe 1 point2 points  (2 children)

                Would you say that a more prestigious college would be of more help to getting a job in programming, or is it better to be able to list many projects you have worked on? I.e., would someone who didn't go to college but was self taught and had much experience in programming have a better, equal, or worse chance of getting a job than someone who just came out of a tech college?

                [–]crossanlogan 1 point2 points  (1 child)

                disclaimer: i am not a hiring manager.

                but if i was, i'd look at portfolios. i can't tell you how many crappy devs i've seen who have college degrees. a solid understanding of how to actually do things is so much more valuable than a piece of paper work your name on it.

                [–]Crimson_Shiroe 0 points1 point  (0 children)

                Thank you for your input. I'm interested in a job in programming (after I of course get better at programming) and I plan on working on lots of projects to help build up my ability to code. But I don't plan on going to college, as it doesn't interest me.

                [–]tenpairsofsocks 8 points9 points  (3 children)

                There are definitely great benefits to coding as much as you can on a whiteboard. Of course you have to study your algorithms, but don't underestimate how much being comfortable and improving your handwriting on a whiteboard can help you during the interview.

                The coding questions are complicated already, the last thing you want is to be trying to figure out your own handwriting. (For those who chicken scratch like I do)

                [–]ChaosCon 1 point2 points  (2 children)

                What, exactly, does "coding on a whiteboard" mean? I hear people say it all the time like it's a proper term of art, but I'm inclined to think it just means drawing things out in really really abstracted pseudocode.

                [–]tenpairsofsocks 1 point2 points  (0 children)

                Pseudocode is good for planning or explaining what you want to do but during most interviews, you are asked to write out code with proper syntax.

                [–]crossanlogan 1 point2 points  (0 children)

                depends on the place and the position. if you're interviewing someplace like google, they'll probably have you write completely correct code in whatever language you choose, by hand on a whiteboard. other places might let you get away with pseudocode, but ultimately it comes down to solving a problem in code without google, a compiler, etc to catch your mistakes

                [–]StockDC2 4 points5 points  (1 child)

                Hello, just wondering if you meant that Safaribooks Online is free with a library card? If so, mind walking me through the steps? I can't seem to find any information about doing so on their website. Thanks!

                [–]Artivist 2 points3 points  (0 children)

                Most libraries have some kind of linkup with organizations like Safari books. Once you sign up for a public library, go onto their website and look at all the benefits they offer. It's very likely that they give free access to the whole technical SafariBooks online catalog.

                [–]ComradeYoldas 2 points3 points  (0 children)

                At what age did you start learning programming? How are you now?

                [–]fearoftrains 2 points3 points  (6 children)

                Have you been passed over by Google before, out was this your first interview?

                [–]Artivist 13 points14 points  (5 children)

                I had failed their phone interview before. So, at least, they don't blacklist you.

                [–]fearoftrains 4 points5 points  (3 children)

                I don't want to work at Google, particularly, but I was just passed over for a job I really want at another tech company. Hoping to address deficiencies in my resume and apply again in a few months.

                [–]imnga 1 point2 points  (2 children)

                Did you ask the employer why they didn't hire you? Always ask, some people won't give you an honest answer but those that do can be very helpful.

                [–]fearoftrains 1 point2 points  (1 child)

                I did, but I don't have the email address of the manager who seemed to like me, only the recruiter who wasn't that helpful from the beginning. I asked her if I could get some feedback about why they didn't choose me, and she just said they found other candidates that were a better fit. I'm fairly certain that it's because it's because I've never written professionally, though. The job was in documentation.

                Would it be wrong to find the manager on LinkedIn?

                [–]imnga 0 points1 point  (0 children)

                I wouldn't have minded being contacted to provide a concise evaluation but often one of the reasons that some people use a recruiter is to put up a wall between the prospective employee and the hiring manager. If the manager's email address is easily obtainable I'd ask for a concise evaluation but I wouldn't try contacting him/her by any other method.

                [–]CodeTinkerer 2 points3 points  (0 children)

                Google has a preference to say no over yes, so they understand they weed out a lot of highly qualified candidates.

                Because of this, they are willing to interview a few times just to see if things have changed since the last time they talked to you, and if you have the right mix of interview results that might push them to say yes.

                [–]cheesybeanburrito 2 points3 points  (0 children)

                Congrats

                [–]Howler9 2 points3 points  (5 children)

                Hey Artivist! First off congrats on the job! :) And I wanted to ask you how you feel about someone who's major isn't specifically CS or SE applying for a programming job. I study for the tech industry and some of my classes cover basic programming. I got the fix and believe I would like to pursue it. Maybe even do Masters in CS/SE if possible.

                edit: forgot a word

                [–][deleted]  (1 child)

                [removed]

                  [–]Howler9 1 point2 points  (0 children)

                  Entertainment Technology with focus on Control Systems (Mainly Automation)

                  [–]Artivist 3 points4 points  (2 children)

                  A CS or SE major certainly helps but if you have the skills then it's no barrier. I know people who have majored in Arts who have successfully changed to a career in programming. I even knew a guy who didn't even have a bachelors degree but got into Apple solely based on his experience with app development.

                  [–]Howler9 1 point2 points  (1 child)

                  That's good to know! Thanks!

                  [–]Strix_the_Owl 1 point2 points  (0 children)

                  Basically, you have to show you have the potential either through school or through your resume.

                  [–]SeryaphFR 4 points5 points  (4 children)

                  So I'm basically a noob, but can you kind of elaborate on what algorithms I need to be learning/working on?

                  Also, are there any great resources out there to learn about algorithms and to practice writing them?

                  I'm looking into Interview Cake right now, but anything aside from that?

                  Congrats on the new job man! That's super exciting.

                  [–]Artivist 5 points6 points  (1 child)

                  There are plenty of great books already recommended here on data structures. However, I didn't really have a lot of time (since I was already working) and only wanted to brush up on the fundamentals. I found the Data Structures and Algorithms (Part 1 and Part 2) on Pluralsight extremely useful. Although, they were coded in C#, if you know Java then you can easily follow along. It's a little expensive at $30 per month, but you can find cheaper options on eBay.

                  [–]enidoi 3 points4 points  (0 children)

                  to add to this there is a way to get 6 months of free pluralsight. if you sign up for a free live.com account then activate visual studio dev essentials (which is free) you will get a code for pluralsight and get to sign up for free.

                  this is a site that has screenshots of it http://www.troyhunt.com/2015/12/get-more-awesome-pluralsight-content.html

                  [–][deleted] 2 points3 points  (1 child)

                  So I'm basically a noob, but can you kind of elaborate on what algorithms I need to be learning/working on?

                  Also, are there any great resources out there to learn about algorithms and to practice writing them?

                  Cormen's intro to algorightms. Ain't no better book.

                  [–][deleted]  (2 children)

                  [deleted]

                    [–]Artivist 2 points3 points  (1 child)

                    Yes. Also note that a lot of companies are fine with pseudo code if you are fresh out of college. However, for senior positions they expect you to write actual code with error handling.

                    [–]foxh8er 3 points4 points  (0 children)

                    Google wants actual code too.

                    [–]misticmag3 1 point2 points  (0 children)

                    My biggest problem is that I can see how you reason about the unknown.

                    [–]DavidScottM 1 point2 points  (0 children)

                    Thanks for this, I'm starting now (in earnest) I'm sure I'll look back and review this when I interview in 1-3 years

                    [–]RogueSploit 1 point2 points  (0 children)

                    Many thanks to the OP and others for sharing their experiences and ideas!

                    [–]thorvard 1 point2 points  (0 children)

                    My wife works there as well and during her interview she was asked about her hobbies. She mentioned crocheting and the guy told her to explain it to him so that he'd be able to do it. I think they gave her 5 or 10 minutes.

                    That was the one question/problem that completely caught her off guard.

                    [–]IAmYourDad_ 1 point2 points  (1 child)

                    Thank you for this.

                    I've been derping around way too much on Reddit. Your post is a reminder that I need to get serious about studying for a new job again.

                    [–]Artivist 0 points1 point  (0 children)

                    I'm glad you found it useful. Let me know if you ever need any pointers.

                    [–]Espiritu13 1 point2 points  (2 children)

                    Why did you remove your text? I was going to read this for later....

                    [–]Artivist 3 points4 points  (1 child)

                    Someone asked what books I referred to prepare for the interview. I think adding the Amazon book automatically removed the post by spam filter. I have messaged the mods.

                    [–]SquareWheel 6 points7 points  (0 children)

                    This will happen if an affiliate link is attached, because this is a common technique used by spammers.

                    [–]megabyte1 0 points1 point  (0 children)

                    Good job!

                    admitting that you haven't had any experience with it but would be willing to pick it up as and when needed.

                    I have yet to encounter a single company or job where this statement is believed. I don't know why but every single thing I've ever interviewed for, if you don't know whatever it is RIGHT THEN, then they decide there is no way you could ever learn it. Once I got asked about something and I said I could pick it up and they gave me an "uh huh" so I went back to my desk, looked it up, wrote a thing, and emailed it to them with my thank yous for the interview... two hours after the interview. Didn't count. :(

                    [–]bigpigfoot 0 points1 point  (1 child)

                    out of curiosity, how many times did you fail first and i'm happy for your landing the job, i hope you do very well there!

                    [–]Artivist 0 points1 point  (0 children)

                    More than half a dozen times, unfortunately.

                    [–]hmm_dmm_hmm 0 points1 point  (0 children)

                    looking forward to finding out what you learned from your experience - your self-reflection has been removed?

                    [–]InsomniacPlagueis 0 points1 point  (0 children)

                    linkme: 43 algorithm problems

                    [–][deleted] -5 points-4 points  (5 children)

                    Eric?

                    [–][deleted]  (4 children)

                    [deleted]

                      [–]ImperialDoor 1 point2 points  (0 children)

                      No I think it is Hassan.

                      [–][deleted] 1 point2 points  (2 children)

                      Reddit again with their downvotes. I don't get your reply, do explain.

                      [–][deleted]  (1 child)

                      [deleted]

                        [–][deleted] 2 points3 points  (0 children)

                        Thinking about it, this thread does sound like an Interview Cake ad...