10 ms·
I'm all for interview prep, but this sounds like a fairly standard tech company loop. I usually take a few days to brush up on algorithms and structures for th
by geoelectric 10y ago
I'm all for interview prep, but this sounds like a fairly standard tech company loop.
I usually take a few days to brush up on algorithms and structures for the first one I do in a batch, and have some canned answers for the personal questions, but otherwise go in with what I know. Some of that's experience now, but I don't remember any point in my career where I'd have done something this extensive. I hope the poster doesn't feel they need a month's prep every time they want to go test the waters on the job market!
I do agree with the frequent recommendations for Cracking the Coding Interview. As a lead who interviews frequently, my biggest tip is to be honest about what you do and don't know--take what you do know right to the limit then talk about how you'd figure out the rest given normal professional time and resources.
I'm not usually grading someone on whether they can solve my specific problem so much as whether I think they're someone I can work with while they do it. That said, if it's on your resume you'd better be able to talk intelligently about it to whatever level makes sense for your experience. I definitely probe around that stuff to figure out if I can trust the rest.
- catchmrbharath 10y agoI had this view when I was interviewing for internships during this quarter. I have spent working and interviewing at a couple of places, before I came to pursue my masters and I believed people valued coming up with the solution on the spot. I interviewed at atleast 10 places for internships and every single of them asked one of the questions from either leetcode or cracking the coding interview. I found none of them cared whether I am thinking on my feet for a solution or not. As long as you can reproduce the answers to the questions in a nice manner, you got selected. None of my interviewers were trying to understand / empathize how difficult it is to come up with a solution really quickly when you have not seen the problem before. The thing I learnt through the ordeal is 1. Nobody cares whether you are thinking on your feet or not. 2. You need a month of preparation going into these sort of interviews.
- adrenalinelol 10y agoThis was my experience for new grad roles. The "we're grading the person, not the answer" is normally bullshit.
- geoelectric 10y agoThat's a shame. When someone sails through something I gave them, I usually kick myself for giving them a crappy or cliched problem and assume they've probably solved it previously. In that situation I absolutely am trying to figure out if they at least understand the answer so I'm looking for them to talk through, etc. Coding on the board is a broken process anyway (just one I rarely have the influence to redefine wholly) but coding on the board as a "closed" interview question is downright stupid. You learn absolutely nothing relevant about the candidate, and they learn absolutely nothing about you. I'm sorry to find out that was the bulk of your experience. FWIW, once you get enough experience to pick and choose, that would be a bad smell for me interviewing at a company. If I feel like there's no rapport and I'm just getting grilled in an interview past the initial tech screen, I will and have stopped the process myself. Life's too short to be a cog.
- kamaal 10y ago>>I found none of them cared whether I am thinking on my feet for a solution or not. There are section of people among programmers who give away tens of hours of time per week on sites of the likes you mentioned, these people have no other hobbies, hardly do any other productive or creative work, have no real social circle and generally spend all the time of their life in 'karma hunger' kind of a pursuit for points in solving some thousand people like themselves already solved. Now they have to justify all mega massive wastage of time by at least making it look some kind of an intellectually superior activity which other people are incapable of. They might as well fail a few people in the interviews to get some consolation for that kind of wastage of time. Everytime I see people spending scores of time on these leetcode kind of sites, I'm reminded of exams in India, where students just sit down and mind numbingly practice several years of question papers in hopes of finding similar questions or sometimes the same questions with minor modifications in exams. Finally you get students who barely know anything at all but pass the exams with high marks.
- geoelectric 10y agoI've heard a school of thought that being good at those games is actually a yellow flag because you get conditioned to code fast, not well. That said, I love those games, so screw that. I just don't confuse them for being a gauge of someone's professional value. They probably correlate some with intelligence, but that's only one piece of the puzzle and probably not the most important piece for the grand majority of hires. Communication, work ethic, and creativity are probably more what I'd look for there. My guess is a team made up mostly of "just above average" people would probably coordinate and communicate better than a team of "genius programmers" anyway. So there's a bar, but from there it's not as simple as smarter is better.
- mavelikara 10y agoI wish I could upvote this more than once!
- yomly 10y ago> I believed people valued coming up with the solution on the spot. So I 100% agree with this. Being intuitively clever and being able to apply what you know is intrinsically valuable: Think of the extreme, imagine someone who is unable to apply something they've learnt unless it's exactly in the context they learnt it. That said, I think it's often underestimated how valuable prep is. Some people even get a bit salty over it, people who are unwilling to "jump through the hoops". As a teacher, I've seen all kinds of people, people who need absolutely nothing to figure out things on their own, whose limit is only their imagination. On the other hand, there are bright people who need a bit of guidance but are nonetheless otherwise very brilliant. We are the sum of our experiences. How we've arrived at our present is completely unrelated to other people's. Some people have had parents who are scientific, other people were hacking consoles/linux/coding since they were 10. Other people got bored with their careers and decided to try something new in their late 20s. Who's to say a month of prep is too much or too little to get ready for an interview. Though, to the people who want to derive everything on the spot, I'd ask: "how did you figure out how to start a fire?" "when did you derive differential calculus?" "how old were you when you solved the schrodinger equation?" My point is, "solving something on the fly" is a misnomer. Without a doubt, it takes intelligence to apply a combination of tricks to a new problem in an unfamiliar context. But trying to come up with a solution when you've never seen the trick is a completely different ballgame, and its worth trying to see the picture from a different perspective. Is the interview process flawed? Well that's an entirely different question ..
- deleted 10y ago[deleted]
- catchmrbharath 10y agoI am not talking about inventing data structures or an algorithm on the spot. It takes some amount of time to find the right data structure and the algorithm. I felt that the interviewers are not ready to give that time. Say you have not seen a particular dynamic programming problem. It takes some time to get to the fact that there is a recursive solution to it, and then apply DP to it. For a person who has seen that problem, it doesn't take a lot of time to write the code. While interviewing, you are compared to that person. Nobody takes that extra effort to actually appreciate somebody who thought about the problem and answered it. For a tech industry that prides itself in hiring the best / most talented, this is ironic.
- poopsintub 10y agoIt's not that they didn't care. but for that role, you're probably ahead of 75% of other applicants by responding with something useful.
- bronz 10y agowhat do i do if im a terrible person to work with? its something i really struggle with.
- loeg 10y agoContract or start your own business.
- rhizome 10y agoThis. I'm pretty sure my Dad was a pill to work with, so it makes sense that he wound up quitting the corporate world and writing his own recordkeeping software that he sold to almost every county in California for over 20 years. Him dealing with Sheriffs would have been a great fly-on-the-wall moment.
- geoelectric 10y agoAssuming you're serious, there are a number of books out there about working with people with unfortunate personalities. I've generally found those kinds of books more instructive towards my own behavior than books that claim to fix your own personality. Sometimes you need perspective more than instructions. My experience (both first and third-hand) is that being terrible to work/play/exist around often comes from not realizing what being around you feels like from the other side. Working with an asshole will go some ways towards fixing that. In the meantime, learning how to deal with them will make you recognize your own habits and maybe find ways to mitigate or fix them. You can also find personality or career coaches, etc. They're just a bit pricy.
- lsh 10y agopeople don't have homogeneous personalities that allow them to neatly fit like bricks into office culture. the natural pressures of any business weed out the dissenters and those that can't quietly work with others or with the decisions being made or [... whatever your problems are ...]. Changing your 'unfortunate personality' (so condescending!) with a book is probably not the answer - you'll change naturally at your own pace in your own direction - but definitely consider going freelance or job-hop until you find somewhere you can tolerate working at. Not all people and organisations are shit, just most of them most of the time. You'll find your niche, my misanthropic comrade.
- soham 10y agoInteresting and valid points. I have some things to add. Disclaimer first: I'm a technical interview coach. We run http://InterviewKickstart.com http://InterviewKickstart.com, which provides structured and intense group programs for early and mid-career software engineers, with the sole purpose of preparing for technical interviews. In an ideal world, brushing up is all what it should take before going into interviews. Practicing Software Engineers shouldn't need to spend months working through books and courses. Interviewers should be thoughtful enough to interview for the thought process and experience, more than DS and Algos. Trouble is: * Many interviewers are not that thoughtful. Even for the most well-meaning ones, it takes a few interviews to truly be good at judging someone in those 30 to 60 minutes. If a candidate is caught into the cross-hairs of an interviewer's learning curve, that candidate is not going to get a fair evaluation. Preparation helps in that situation. * With the plethora of prep material available for past several years, the bar for interviewing has just moved higher and higher at good companies. If you look at G and F (and some others), there is no way you can get away with just knowing the basics of trees and binary searches. It just takes time. e.g. If they ask you to merge sorted arrays and you don't know that Heap sort is the best way to do it, you've lost the interview no matter how clear your thought process is. Not because the interviewer is not watchful. But because your competition has solved it with Heap Sort. So even if both of you demonstrated a clear thought process, the other person gets the job, because s/he is more prepared. * It takes a certain level of life-confidence to just go to an interview with what you know and take the rest head-on. Many people don't have that kind of confidence. Many many engineers are introverts, and to borrow an analogy from sales, they are artists, not hunters. They are equally ambitious as hunters, but their confidence comes from systematic, extensive, honest preparation, and not from experience thinking on the feet. That prep easily takes months, especially when they are doing it part-time. * Most CS colleges do not actually prepare their students for interviews. Some top ones do, but a large majority of them are not calibrated to churning out students capable of handling interviews at top tech companies. If you went to one of those colleges, and want to try for better companies, you have to prepare explicitly and separately. You have to re-learn CS with a level of specificity, intensity and extensiveness that your school never provided. Yes, you only have to do it once, but that one time, it may take many months.
- geoelectric 10y ago
- tn13 10y agoYou might be a more experienced person give you also regularly interview but for someone new I think 8 weeks is a good time to prepare.