Kinda like I saw a while ago... This job for an experienced Angular developer, which I tought I was, ya know, with my 4 years experience... But nahh, they wanted a guy with a decade experience in Angular... So I tought best not to apply... 🤣 🤣 🤣 🤣
Or the ones where even the inventor of said technology wouldn't qualify. And it feels defeating graduating this winter and seeing how it seems like a lot of places ask requirements for an entry level job that most newcomers won't even have.
@@petarprokopenko645 That's the point, you shouldn't understand that question :) It's currently one of the hardest and unsolved problem in computing theory. en.wikipedia.org/wiki/P_versus_NP_problem
A friend of mine is a recruiter in the tech industry. She told me that she regularly works with seasoned FAANG engineers who can't get jobs at different companies because they can't pass the whiteboarding interviews. If someone is good enough to keep his job at Google for many years, denying him a job because he can't rebalance a red black tree from memory is utterly ridiculous.
@@Suekru3 "Ugh. Red and black trees. We went over them for like a week in data structures before the final. Could not get the concept down." Me too! The whole time we were learning them in school, I had two questions that I never asked. Why have I never seen these anywhere outside of class? I know how binary trees work, what is this offering me?
@@misterguy2329 They're largely used to implement map that uses tree as a backend. Examples are ordered_map in C++ stl, TreeMap in Java, and basically in most libraries if they implement a in memory tree it's probably a red black tree
Manager: "How'd you get the job?! Your code is terrible." Me: "I took the interview 400 times. Eventually you just get good at interviews, and hope it transfers."
Me at the moment. I'm working a non tech gig until i get back in the industry, but i've had to put all my projects (the thing that you actually learn better coding practices) on hold and spend my after work time studying for interviews.
Job position: Detective Interviewer: Please solve these 5 sudoku puzzles in 10 minutes. Job position: Janitor Interviewer: Draw the particle structures of ecoli and salmonella within 5 minutes.
They're actually both possible, the second if you practice for months on drawing the particle structures of every type of bacteria, and the sudokus if you're a sudoku world record holder and the sudokus are half-filled in.
Same here!! I just can't understand HOW questions like reverse this binary tree or find all common multiples of all numbers of this array can tell if a programmer is good or not! Really??? 20 years programming... hundreds of projects delivered, millions of lines of code.... and NEVER (I said NEVER) needed to use one of those single questions I have heard on these interviews!!! Big O???? Who on earth keep thinking on this shit while coding? They keep saying: "don't over engineer it", but you need to deliver the fastest code ever! People take weeks or months to get into a perfect solution, but you need to deliver it in 30 min.
@@ChristianAlmeidabr that is very dependant on your field. If you work for a service company that builds web sites all year of course you don't need to be good at designing algorithms because that's not your job. But if you work at a company that builds a very specific product where 90% of the job is to improve on service quality/precision/performances of course you need to understand what big O notation is, of course you need to understand what it means, otherwise you can't even chat with your collegues at the coffee break. But on the other hand in that second case you probably don't care about JavaScript and you probably don't even know what react is. All jobs require different skills and knowledge, CS is super vast and so are CS jobs, don't assume a skill you don't need is useless. Most of us are good in one or two very "narrow" fields (web/machine learning/graph theory/distributed computation/optimization/NLP/video games/sounds/embedded systems/... and many many more). Some of us have decent knowledge of maybe 5 fields, but in general we basically know nothing about CS. Don't mistake your field for the entirety of CS. It's just a tiny bit. So yes, most jobs are in the web (which itself contains subfields that most people from the web don't know) but many people also do work in other fields. That's not because they are not on stackoverflow nor GitHub that they don't exist. They just work on projects where reading academic paper is a normal thing, where spending time chatting about algorithms is the best way to write good code. It's a bit sad to see people denigrate other fields like this... That's also a problem for some beginners because that make them think that CS = web development. Which make them think they don't need to learn computer science because they already know so much after 1-2 year. I really hope CS will not starve passionate people because we hide 99% of the discipline with web related stuff. (Don't get me wrong, there are many interesting topics in the large web spectrum, I'm just saying that the emerged part of the iceberg).
4:12 You also have the reverse. You have candidates that will pass the interviews with flying colors and get hired, but actually make terrible software engineers because they have only textbook algorithm knowledge and no debugging skills, design skills, etc.
Should I go out of my way to memorize all of these algorithm stuffs while I also do my best to learn these design and debugging skills? (I'm just getting into coding with the desire of becoming a software engineer
@@KingMidgardsormr Hey I think a better way would to balance between both. I would say on a 4/1 ratio where you spend most of your time developing stuff and the rest doing algorithms. What kind of software development are you doing by the way? Web development, mechine learning or something else?
@@hmshuvo2332 Im really not sure it's still early days. All I know is the term software engineer which was defined differently than web development etc etc. I'm really not sure what's the best option for me yet.
@@KingMidgardsormr Well. web development is basically a sub domain of the software engineering industry. So, please don't get worked up on this. If you like web development, machine learning or whatever, just do it. As for myself, I am a software engineering who does full stack web development.
@@hmshuvo2332 Could you give me a description of what you do in a typical days work? Im really set on software engineering I just don't know the intricacies of it all yet xD
_On the internship application_ : Coding experience and an interest to learn! _On the interview_ : *Traverse this unweighted binary doubly-linked tree graph with O(0) time complexity.*
@@lepruconx Look into data structures & algorithms; very good material to learn. Binary trees are [often] implemented using linked lists. A linked list is comprised of a number of nodes(items) which each track the next node in the list(essentially forming a chain of 'links'). A doubly-linked list has each node tracking the node prior & next(parent & child) in the list. Binary trees track two child nodes(typically 'left' and 'right'). A node which has no children is a 'leaf' whereas a node with at least one child is a 'branch'. Nodes with descendants beyond immediate children form a 'subtree'. Doubly-linked binary trees track the child nodes but also the parent node. Weighted binary trees are 'self-balancing' trees that track the size of subtrees(descendants). Balanced trees ensure that the number of subtrees on one child branch does not exceed(within acceptable limits) the number of subtrees on the other child branch. Graphs are data structures comprised of nodes(vertices) and edges(links between vertices). They can be implemented using a number of different data structures, including binary trees. So an "unweighted binary doubly-linked tree graph" is a graph using a doubly-linked binary tree internally that doesn't need to track subtrees(and often isn't 'balanced'). The O(0) time complexity is a joke... unless possibly using quantum computing and somehow finding a node before requesting it. *Special note: An unweighted binary tree can still be balanced by using a 'state' variable to dynamically choose which branch to follow when adding a node. State variables, in this sense, merely keep track of the branch on which the last node was added(flipped from 'left' to 'right' and vice-versa). I don't know why it isn't taught more often in CS courses.
As a CS student I get very frustrated over the fact that all my coding exams are done on paper. Yes a paper where you write the code down with a pen :)
Matija Novosel getting out of a test knowing you did well then seeing your mark get destroyed because you forgot some semicolons or brackets is beyond frustrating
@@MrCmon113 I lost 25 point on a 30 point question for writing "=" instead of "==". Something that I did perfectly 5 lines above it, which showed I knew the concept. I was a test pressure pen and paper hiccup which made me retake an entire course. so fuck that shit.
People think these kind of comments about 1 second things taking weeks or months are jokes. Its true. If you ever work for government, you will know its all true!! lol
@@superpantman of course, and that was the point. I am a dev with 20+ years experience. I told him he's wasting everyone's time by asking silly questions, and that I found it insulting. I also said that if he wanted to proceed with real software development questions, then fine, but he insisted on this silly interview so I said goodbye..
Support Engineer here. I interviewed someone once and I just asked them how to do an upgrade of our product. They googled it and paraphrased the doc they found. I was like "congrats you just solved a support case". We hired that person.
most of IT is just googling things lol. New stuff comes out all the time, basically doing IT support is just being less lazy or smarter than the employees who could easily fix the problem on their own if they google.
@@lockofmetal8894 Its right to let people look up information on the internet. Searching for information and solving a problem is a skill in itself and also part of life in 2022. Searching the internet for answers was seen as cheating before but I think people realise now its common sense to not limit yourself to your own head. There is really no need to do it.
I would never want to work for a company like that. Because clearly the interviewers have no idea what the job involves and they have no idea how to assess it. You'd think these kind of people would get fired for not knowing what they're doing. But no, they got to judge other people on who to hire. Yes it's a pretty sick world we live in.
Taxtro Everyone should learn enough web design to know what centering a div is... plus it’s helpful when you need to build your own portfolio page and stuff
Hey for you folks who are struggling to land their first job. I struggled almost a year after my graduation to get my first job as a developer. I would say focus on one area and land the first job. The easiest one would be JavaScript and front end because of the amount of resources available and the learning curve. Now i have more than 5 years of experience and am currently working as a senior software Engineer. All these things happen that time properly for like 2 months .
@@hari2061I also have a ton of experience but because of the horrible job market, the companies are having fun with us. I'm so tired of this outdated process. I even resorted to using an AI tool for my last interviews after my old company decided to "right size" to help me answer the trivia questions they are throwing at us!
@@xyzqsrbo he said "again". Its one of those things you just learn in the book and probably test for ONCE. he's encountered it and probably forgot about it. I assure you even if you ask me to describe it, I cant. i have a vague idea of how it works in code since i work as a developer. But similar as how i wont be able to define what object oriented programming is, even tho i use it and i know why its good.
Im a software engineer in Germany and thank god we don't have interviews like these. I went to many interviews and none of them wanted me to code in front of them. They just asked some questions for 1h to test my technical know how. All those questions were related to the position I applied to
But even here in Germany this kind of interviews raise up here and there with big players. Some companies outsource the recruiting process and there are freelancer platforms offering positions to check applicants in coding interviews. Still, with KMUs it's more or less unlikely.
I've been coding for 20 years, and whenever a recruiter says we have you do these coding challenges, I say "You know, the longer you've been programming, the less you remember how to do this stuff, because you don't use it in real life." They say, "Well we just want to see how you think and how you solve problems." B.S. These types of algorithmic programming challenges besides the simpler ones don't show how you think. A lot of stuff like the dynamic programming problems were solved by college professors after many years of research. Nobody would think up these solutions on their own. These programming challenges weed out experienced developers unless they want to take the time to re-learn this stuff. It explains why google and facebook are filled with young/inexperienced developers and how come it takes so many thousands of them to get anything done, and they still have buggy products.
What done? Those companies are literally mafias filled with rats that just buy the products that experienced programmers at startups make. Yes, they always have a small team of people and research teams that build stuff like grafana, but you know what? Welcome to the second America, the old America, the post WWII that built this country up is being overtaken by this college grad/internet/Marxist mentality. And for the record, this cookie-curter mentality is part of the Marxist landscape of thinking.
I have been coding professionally for 15 years now, and even owned a startup for 2 years. If I go to an interview that asks me to do a coding exercise on the spot, I tell them to fuck off. If they ask me to do at home, 80% chance I tell them to fuck off. Last time they did, they offered me a chance to alternatively show my portfolio of previous coding experiences. Now that is top notch in my book!
I have helped administer (and have been given) coding algorithms that DID gauge how the candidate thinks. The key is treating it as a pair programming exercise. Ask what they're thinking, give them hints, don't worry about syntax errors, and make it clear that you don't expect a complete solution. If you aren't treating it like pair programming with the interviewer, then you won't find out how the candidate thinks.
I've been a competitive programmer for years and I have a PhD in algorithms. But even so I totally agree that interviewing like this is wrong. Someone who has surface knowledge of algorithms might do much better than me. And my PhD supervisor who is practically a genius might look absolutely stupid in an interview like this.
I'm sorry this is unrelated. As a student I'm really curious how someone with a PhD organises the things they learned long term. I mean you have the deep understanding of things that you gain, which you don't really forget but there are probably also those technical things you only need occasionally that anyone would forget given enough time. Do you have some tips for that? I'd love to build this kind of system from my first year. I think it can be really valuable
@@ghosthunter0950 Hey, that's true I do forget things a lot. But the way it's always worked for me was to focus only on the things that I'm actively working on. If I feel like I need something to solve a problem and I've forgotten then I just go review that and try to use it. Nothing more. However, recently I've been working in industry in a job that's not related to algorithms so I was starting to forget algorithms. To prevent that I only spend 4 hours per week to review or solve problems. This is a really good system if you can maintain it. 4 hours per week doesn't seem like much but it will compound.
this is absolutely bs , tourists is a competitive programmer and specialized in tcs, would he ever get beat by someone who crammed leetcode ? Never. If you are red at codeforce , your algo skills probably stick with you forever , all normies out there can't beat you. Maybe you are just not that good , lmfao
Ben: Coding interviews are broken Random girl in ad: Dou you know what's the most scariest thing in the interview is not knowing how to invert a binary tree?
@@IrelandVonVicious yup. "You may not use Google on this interview." "Why are you looking stuff up?" "Why can't I?" "I said no Google!" "Alright, then I am, and was, fully compliant." "How?" "take one look at the screen"
I feel you man, thanks for posting this. I spent 6 years earning a PhD and have been programming 5 years professionally afterwards. Yet here I am, for the umpteenth time, having to "refresh" my memory of mostly useless factoids and concepts to prove that I can still do the job I've been doing for years. Is there any other profession that's so internally judgemental? Are construction workers doing "jackhammer trials"? Even highly skilled fields like doctors - they don't have to retake the mcats on a whiteboard while the heads of the hospital breath down their necks. Yes, sure I've spent thousands of hours crafting code and building systems, but all that is useless if I can't traverse a weighted graph using depth-first on a whiteboard. By all means though, please hire the supremely intelligent 20 year old who has spent the last 4 years in CS classes doing just that. Who cares if he's never run a SQL command in his life.
@@hvnc1756 yeah and the board exams are just as pointless tbh a better example would be the field of dentistry or orthodontics where instead of testing you on useless garbage every few years, they force you to attend conferences where new *practical* techniques are presented, and you can take as little or as much knowledge from the presentations as you want
The most similar job is probably being an actor, where even famous actors still have to audition for roles (even small ones). The difference is we're not competing for $20M gigs and widespread recognition.
@@joshuafrazer9224 I'd say acting is the exact inversion of this. Most auditions require you to display the exact skills you need for that specific role. Can you read perform as this character on command. It's pretty straightforward. A direct comparison would be requiring auditioners to sit down and take a test on theater/film history, vocal placement, body language and microexpressions, etc. But they don't do this because no one cares if an actor understands the theory behind their abilities. They care about whether they can perform. That's why there's so many stories of performers from extremely varied backgrounds. Because sometimes going to Julliard pays off, but sometimes a random construction worker can intuit their way to stardom. Pavarotti couldn't sight-read music. Something many vocal performance schools require before they even admit you. But one can hardly argue that the opera houses that hired him didn't get their money's worth.
A pet peeve of mine, which I think companies should test for in tech interviews: Reading and reviewing code. As a programmer you spend 90% of your time looking through existing code. Getting a bugfixing task covers this to an extent. If I was in charge of hiring, I would have a task, where the applicant gets a code sample, maybe even a real pull request, and then explains their thought process as they walk through the code as they try and understand what it is doing. This opens the floor for meaningful discussions on possible improvements regarding naming, refactoring/architecture, documentation, and tests. Including an actual bug for them to find might make sense. And then at the end you could ask them to extend the code with a small function. The required logic doesn't have to be complicated.
The main problem I see with this is that this isn’t as language agnostic as the coding interviews. In general, if somebody is applying for a company that primarily uses Java, but most of their experience is in C++, they might not be able to debug the issue in real time (depending on what it is). But I’m the job, the developer will be able to pick up the new frameworks and languages relatively quickly if they have good fundamentals.
Lol you must think you are special. Coding interview is meant to filter down from a bunch of qualified candidates. Everybody applying to this jobs can code. Passing data structure and algorithms is the bare minimum. No matter what format they change the interview into, the people passing now are probably going to be the same people passing in the new format because they are grinders. The only difference is that the new format will be less objective.
I created a pull request exercise and it was very effective for awhile. I could tell when the recruiters caught on and started feeding candidates the answers, suddenly everyone was passing even if they couldn't code.
I actually this this in my last company where I was responsible for hiring. and the people we got this stayed longer and did have high output and impact. Last month I was in the market for a new job and every company thing they are google, in all of my years in working in companies large and small I never once needed any of this LC stuff, the skills are totally different. I could have spent a couple of months grinding LC again, but what's the point, luckily the new AI stuff is going to kill this process before it kills our jobs, so I found a tool that helps me answer these kinds of questions in the interview and the fact I got a job with it proves to me how useless the whole process is, I use GitHub copilot and ChatGPT in my day to day work then why can't I use them in the interview! end of rant
Coding interviews nowadays are memory tests: I failed an algorithm interview question, showed it to my friend who recognised the question before I had even asked it and gave a perfect answer just because he had seen it before. There's no out-of-the-box thinking - it's just a matter of who is willing to practice the hardest. Maybe that's the quality they're looking for in candidates? But I say there's a lack of correlation between between algo-knowledge and being a good software developer.
@@ItsVab which makes sense because under the pressure of an interview, one is unlikely to be in the perfect state of mind to use their problem solving skills, which never flourish under such silly time contraints as those in an interview. Of course memorization has become the go to.
@@Bayo106 u and vaibzz123 are right on. I once have an interview where the problem have no real world application lol just to see if i can solve. smh u have a list like this [7,8,9,1,2,3]. it is sorted but rotated lol . the problem is how u implement the binary search so that u can search for a value lol. in real life, i would use a sort function and then binaray searcch. i dont see how solving this problem have any application in real world.
Cindy Liang yes, part of it is to test how subordinate the candidate is. Sometimes they are looking for someone they can utilize as opposed to someone who thinks for themselves: a good slave.
This isn’t going to change until we start walking out of interviews when the process gets lame. It’s not a one way road. Im as interested in my interviewer proving their worth to me as they are in me doing the same. I have two guilty pleasures: 1, I love quitting crappy jobs. 2, I love walking out of crappy interviews.
I read this comment and immediately showed this to my girlfriend. This is SO me and these words have come out of my mouth multiple times lol I’ve already done both multiple times - walked out on crappy interviews and quit crappy jobs
I have done that in my imagination quite a no of times, but mostly I have been a sucker. I think I am going to start doing that pretty soon.. whenever someone plays a dumb "Can you solve this super popular internet sensation coding challenge (that I just copied from the internet)?" LOL or tries to put down my work and achievements without even trying to know what kind of contributor I can be, once I join them... you are right... we need to start making the change and I hope it turns out to be "working" :)
You forgot: a few months later anonymously d*uche the company - Reddit (if they don't already) should have a special 'Tech companies that suck' sub that allows people to describe the horror stories. They need to be named and shamed. Especially the smaller ones who think they're high and mighty.
I’m a professional software developer for over 16 years. I see programming a bit like being a chef...there a tons of different specialities and skills. These interviews are like asking good chefs to recreate a very specific Michellin star meal (a bit like masterchef). Just because you can’t recreate it within a very limited time frame doesn’t make you a bad chef...you’re under pressure, etc and even the original creator took a long time to deliver such a dish. It’s the same with programming. You cannot expect a lot of developers to know very intricate algorithms...it’s pointless as they’ve already been figured out. So long as you have a basic understanding and willingness to learn you’re good to go. If a job requires you to understand a very specific complex issue then sure, advertise for that role and question them on it. Don’t torture the poor sods who have nothing to do with this. Avoid companies like this. You often find people who can memorise random crap do well at this stuff but in real world situations they panic and are unable to think for themselves. Keep your chin up and consider it as a lucky escape...you could’ve ended up working for them. Their loss
I'm applying for my first job as a front-end dev and I couldn't agree more with Ben and your comparizon is very true as well. I think the employers are also right to do these hard tests. As Ben said, they make it hard on purpose so that they can point out your strengths or your capacity to work under stress and how well you perform and I'm sure they check for some other stuff that I couldn't know. For example, I just did a test and I had 10 questions to answer under an hour and 40 minutes. I did not answer the second question at all and did not even spend more than 30 seconds reading it. The context was like 3 paragraphs long and I knew if I didn't skip it, I would've probably spent the whole hour and 30 minutes on it. That proves them for example that I know what to prioritize so that I can respect their deadlines by doing more simple tasks under a short period once I'll be working for them.
I am currently on the market interviewing, I am a NodeJS Fullstack developer and I've been asked questions about LinkedList (which is more of a Java question) and rotating all the values in a 2 dimensional matrix that represent an image right if a passed in flag was 1 and rotating them left if the flag was 0. I'm like WTF? Two questions like this, 40 minutes to solve both. in 20 years of programming, I've never worked with matrices; I did in college. Interviewing was never like this 6 or 7 years ago.
I've been a dev for 2 years. I lost my contract last week. I'm interviewing and frankly it's DISGUSTING how many of these are asking me to spend HOURS on stuff that has nothing to do with me making them a web app.
Right on point. The system is broken. They are all looking for the boy genius, while they are dumb as door nail themselves. Software is the only field that is screwed up like this. A mechanical, electrical or civil engineer is never asked to do on the spot analysis to qualify. All you need is a PE ( Professional Engineer ) license and answer some general how will you go about doing this or that. Some of this is due to the arrogance that is prevalent in the software industry. You can test this easily by posting a relatively beginner question on stack-overflow and see how they try to humiliate you instead of answering your question.
Yeah what is up with that on stack overflow lol There is always at least one person commenting on why someone is posting such a question, always negatively. They don't know the context of the question, why do they care. Just give them an answer than pester lol.
idk I've always had a great experience on stack overflow, and the small number of trolls are usually well outnumbered by those actually trying to help so its easy to ignore
What the fuck was the point of 60K in student loans if they're just gonna make me "RE-prove" my credentials everytime I get laid off due to their poor management? No really...fuck the modern world. This shit aint gonna last lol 🤣👌🏻
Ive worked with people in many fields...and unfortunately, where Ive seen more cockiness and egos as high as the sky...its in the software field. I can almost picture one of those big head cartoons throwing a tantrum everytime I hear one of these kind of soft engineers speak...
As part of my current jobs interview I was given a JSON file and asked to create something that was related to the sector the company was in at home over a few days. I could use whatever tech stack I wanted as well. After this, I had a face to face where I pair programmed with some senior guys to make changes to the app I built. Think this was a great approach as it meant I could demonstrate what I am strongest on, and then actually work with those I would work with on a day to day basis.
@@Cassp0nk It's easy to see if the person lied with the next step he described, pair programming. It's obvious if they have no idea how what they supposedly did works or can't modify it properly.
If they don’t want me at the interview then that’s their loss, I’m not wasting three days of my time writing shit for them. They hire me, pay me, then I’ll write it.
The few days is basically take your time and do it when you can, not a spend 8 hours per day and have it complete by X date. But yea, I totally agree that people get sucked into these things and spend days on them which is a shame. I set myself a max of 4 hours (mainly because I actually enjoyed the task!) And yea, the idea behind the pair programming is to test out knowledge of what you built. Making changes to something you know is easier than something you dont, so it will show who's lying
Dude, if you're pressed, remember to: - Ask clarifying questions, like if you are allowed to mutate it, or if you're allowed to build a new collection, etc. - Ask obvious questions to buy you a bit of time, like "can I choose language etc., can I assume certain reasonable methods being present, etc.?" (you know like left() and right() on a binary tree. This gives you a few minutes, and it makes it seem like you're thinking instead of desperately kickstarting your brain. Also, know the simplest implementations of simple things. If you're asked to sort, heapsort is dirt simple, uses recursion and is n log n. If you're asked for better say that you don't remember radix sort, but you can look it up, unless you remember exactly how to do radix sort. Also remember that interviewing is a skill. Find someone to practice with. Especially if you're a student this shouldn't be too hard. GLHF. You'll need it.
my god, this video is perfect. it needs to be spreaded at the whole community. interviewers need to STOP doing these type of interviews for projects that has some simple CRUDs
I remember I went to an interview at the University of Toronto. He sat me down in front of a computer and basically ask me to write: A login page, and a page to manage his courses - basically all the CRUDs. I had to create a new database from scratch and the whole nine yards. I asked him how long do I have? He said one hour. I basically told him. Let's assume that I can actually do that in one hour. It would be the most brutal codebase with no modularity and separation of concerns, no design patterns, etc. I then said, thanks but no thanks and walked right out and didn't look back.
I would have said "Great answer, can you start Monday"? I'd rather have someone stand on their principles of good coding practices than someone who can write code fast.
I pretty much saw that on a guy's face last week, after I panicked and answered a very simple question in an overly complicated way. I realised later he was just asking about basic maths and not about computer vision algorithms/implementations. He was very polite about it but he kind of winced and leaned back like "ok I think we're done here"
One of the problems is that many of the 1st line interviewers are HR people. They are there to weed people out but don't have a clue. For us it's like asking a rocket scientist to play the piano to qualify.
The situation is often even worse: how can a recrapper evaluate a candidate for skills he does't have? For many years I have a phrase: "How can you find a real russian speaker if you don't speak russian?" Sono capo di capi. Some time ago I was returning from an intrv and I got a call. It was from the same recrap co. proposing me the very same job!
Defiantly, If you're going to hire a programmer, get a programmer who's been through the system and know what they're doing interview people and devise their own appropriate tests.
A friend had a interview recently and I was so happy to hear that they only asked him about recent projects and his previous job experience. Hired on the spot with no whiteboard session.
Had the same experience, it was pharmaceutical company and the position was for software engineering. They asked only about my experience and what I wanted from them and basically that's it.
I just finished an interview loop at Google, and this really strikes a nerve with me right now. I've been writing real world software for a decade, and I just spent a week studying all the useless crap I forgot from college so I could try and guess what obscure graph questions they would ask me... and guess what, I forgot to study strongly connected directional graphs... I studied tries... I remembered how to use queues and stacks... but then I forgot how to solve that problem about calculating the minimum number of moves for a knight to take another piece on a chess board of infinite size. meanwhile, the job was literally to write test frameworks for internal team members... so, none of the questions would actually evaluate if I am capable of performing the job at hand.
>but then I forgot how to solve that problem about calculating the minimum number of moves for a knight to take another piece on a chess board of infinite size. That's the kind of problem solving you should be able to do on the spot. A dead simple naive solution which scales horribly is a simple BFS. Then you can realize that you can do the problem quite greedily until you get close (within a few moves) of the target, and then do a BFS from the target. The greedy first part should be O(1) (essentially just teleport to a known spot that is still optimal) and then you pay for a very cheap BFS to find the shortest path to that known optimal spot. That particular example was not about knowing a particular problem. It's about problem solving fundamentals and some algorithm fundamentals (realizing that BFS would give the right answer, and that maybe this problem allows for greed). The question is if you can take some basic knowledge (maybe probing for info you need) and figure shit out. From my experience, that's what the process is about.
Alcesmire thing is, whole that makes sense, in my opinion is still wrong, for even the basic algorithmic knowledge tends to be useless, a senior I used to work with told me he walked out of a FAANG interview after they asked him a question just like that one, he said “I’ve been a senior at Boeing for almost a decade and they think I can’t handle the job because I can’t figure out on the spot an algorithm that took months to create, that’s just insulting”, he worked in the industry for decades and never used any of that knowledge, so even a basic BFS with a little greediness is out of boundaries for most developers, because... why wouldn’t it be? If they asked you to write a garbage collector from strach I’m sure you’ll be lost, but it’s the same concept as this algorithms, something difficult that less than 1% of the industry actually does and that is not related to the job you’ll be doing.
@@willinton06 This kind of algorithm doesn't take months to create though. It's simple application of truly basic building blocks (after being able to break apart the problem enough). Even at the scales of garbage collectors the same kind of process applies. The basic building blocks may be quite different (memory allocation, cache, atomics, ...). However it's still a process of breaking down a task and figuring out how to apply basic knowledge to figure out how to build something that solves the problem. Be it something as basic as ref counting GC, something more intricate like tracing GC, or something else entirely. The focus of these kinds of interviews aren't (or shouldn't be) about quizzing you about some obscure algorithm or data structure, but to see if you can break down a problem and apply basic knowledge. It just turns out that algorithmic questions (and to some extent system design questions) are some of the easiest way of teasing out that ability and see it in action. In my experience with FAANG you are often hired as someone with a lot of general knowledge who knows how to apply it, maybe with some particular subject knowledge. You will likely be moved about, general skills and picking up new skills are important (ime general skills helps you in picking up further skills). For sure the requirement will change if you are looking for a subject expert. I presume in such cases the interviewing process will look a lot different.
"No one's going to start a 30 minute timer and command you to center that div.... they're going to give you a week for hard stuff like that" lmao, that killed me
Absolutely bang on. I was a developer for 25 years before choosing a career change for exactly this reason. I found increasingly, every time I went to a new job, I was being asked increasingly stupid questions. What was worse was I realised that even when I answered, the interviewers didn't understand the answer. I actually burst out laughing at one interview, my 3rd interview that week, and asked if they'd found the interview questions on line because I'd already been asked the exact same questions elsewhere. I've left that world behind now, and I'm glad.
Thank you for this. I've been programming for twenty years and have not ever had to use any of these algorithms, yet I've still managed to write software that people can and have used. It's sad, but with this interview process as it is, I couldn't get a job at most tech companies today. My focus is on writing clean, well-tested code, and it serves me well. In the event I have a specific use case for a specific algorithm, that information is just a Google search away. Thankfully, my current employer respected my years of experience and gave a take-home project relevant to the work I'd be doing. It took me about two hours to do. All they asked was for me to commit often and post it to a public Github repo so they could review my code and thought process via the commit history. I'm still there 2.5 years later, creating software and enjoying myself.
@@MrFrazerz Unfortunately, we were acquired at the end of last year and some of the folks responsible for the culture have moved on. I'm not comfortable identifying the company in this forum but feel free to DM me and I can provide a bit more information.
After 20 years of software dev mostly as a contractor, my advice to employers would be to ask candidates how they would design a solution to a problem. Design, not coding is the relevant skill. Algorithms are to software what bricks are to houses.
Not really though.. I mean sometimes, don't get me wrong, they are used but so far (4 years) in my experience I have never had to use an algorithm. In fact, 90% of what I do is figure out how old cold works so that I can fix it or manipulate it to some degree.
@@xMrJanuaryx well you have to devise algorithms in code(simple ones typically), but they aren't some complex Divide and Conquer algorithm regurgitation. I completely agree though most jobs are "here is this old C code base port it to C++(whatever version) and make changes where you think necessary for ease of use and effeciency"
My company has a software design interview for experienced candidates. It’s a bit unfair to expect new grads to be able to design software systems under constraints without any experience though. I think it’s pretty common for FAANG companies to ask software design problems as well
Problem is that tech companies want to homogenize the interview process, pick a few candidates, then distribute them to the open positions in the company. You probably won't even see the interviewer ever again because he was sourced from a completely different team than the one you end up in if you are selected.
This seems like a case of Goodhart's Law: when a measure becomes a target it ceases to be a good measure. It used to be that only geniuses would be able to on-the-spot answer random algorithm questions, so they were a good measure. Then everyone started doing it because it seemed to be working, and said algorithm questions became well-known, driving a feedback loop of constantly looking for harder & more esoteric questions that haven't been leaked. Now these questions are getting a lot of "luck", which candidates happened to hit those particular algorithms before showing up, and the genuine skill measure is partially washed out.
lol, many many years ago before the dot com crash it was DOM questions, like you were going to memorize the entire model or something. If the list object doesn't have a method for what you need create a new object that does. So my answer is to extend the object then Google the algorithm and create the method in the new object to do what I want, so I never have to use the algorithm again, simple yeah? I remember the college kids coming into the industry in the 90's always wanting to abstract the object or isolate however you like to think of it wrappers around wrappers around wrappers. But the young man spent so much time philosophizing about it he got almost nothing done! I've been kind of a solo entrepreneur for many years just because of these kinds of things. It's a construction job your building software... "Get 'er done Mister!!!" The really cool stuff is in Quantum computing, micro services and Kubernetes
I used to contract with USAA as a front-end dev. My interview was a 3 hour, unmoderated, session where I sat down with my own laptop and coded a few pages, without branding or content, from PSDs that their devs had coded not too long ago. Once I got the job, I was happy to see that I was tested on exactly what I would be doing, just on a bit smaller scale. USAA is not a tech company by any stretch, but that interview set the standard for what I feel is a justifiable use of my time when interviewing. I may never get a job at a FAANG, but that’s okay because I’d rather work somewhere that doesn’t set unrealistic expectations compared to what they’re willing to pay me.
@@blackfrogstudios6670 as expected. The coding section, administered by a native indian speaker, went poorly. The admin section, administered by a white guy who naturally speaks english, was apparently fantastic!... I'm not kidding. The game is rigged...but i still need some fuckin money lolol
13 year developer here. Had an interview a few months ago and the CTO gave me a BS challenge with some algorithm. I thanked him for the "opportunity" and left.
Was the CEO also sitting in? In that case, the CTO probably cared more about impressing his boss with his obscure knowledge than finding a good candidate. Walking out was definitely the right call, you don't want to work in a place like that. Had such an interview recently, but was too polite to just walk out. In the end, they found my (IMHO rather reasonable) offer too high, didn't even try to negotiate. I'm kinda curious whom they will find in the end - but happy that it won't be my problem.
Well he made an video on this and ben actualy commented on that video. The thing is the Interviews are great for FANG companies. Other companies can use different hiring methods, which might be more optimised for their company, but it is questionable wether the implementation of such a system is worth it, when you can just copy the system FANG uses and it will probaly work good enough.
TechLead: Sip coffee, Sip Coffee, I'm a millionaire btw, Sip coffee, I'm the TechLead. Ben, you would never be like me, Sip Coffee. I can solve 30 problems in 1 hour because I'm the TechLead.
Honestly, problem-solving skills are very important in the field of software engineering (and many other fields in general), and I think that was what algorithm questions were originally intended to test. So applicants being able to solve harder questions would mean they have a better problem-solving skill. The reason I think that system is now a little outdated is because everyone is studying like crazy for these problems and literally memorize so many of them that by the time they see a question on an actual interview, they would have already solved it couple a times before. At this point, these interviews will only test people on their obsession and free-time to memorize leetcode problems, not actually test their problem solving skills.
@@jandetmers6478 Most interviews I've done allow you to google search syntax and things like that. You just can't google search the answer/algorithm. But obviously, if you have two candidates where one knows all the syntax and the other doesn't, if both solve the question (and all else equals), then the person who didn't need to look up syntax is the better candidate because they were either more prepared or used the language enough to be familiar with all the syntax.
You’re spot on, Grant. I’m an interviewer at a tech company, and this is exactly what we’re looking for. I don’t care about syntax (I usually give the candidate syntax if they forget, or tell them to make up whatever syntax they want to use) This largely depends on the coding question chosen, and it’s really important to pick realistic challenges, instead of things like knapsack or towers of Hanoi.
@@ntimeproductions It's true that sometimes solving problems doesn't mean using algorithms. However, can you think of a more consistent and fair way of evaluating problem solving skills than asking coding questions? Is the most fundamental tool of a software engineer not data structures and algorithms?
Here's something to try if you decide you don't want to work at a company that's interviewing you: They asked me to do an algorithm at an interview in front of 10 people. It was basically the low level-plumbing bs that comes built-in with the language but they wanted me to do it anyway. You would think this would be important to the company if they wanted me to test for it in an interview, right? So, I turned to them and said before I started on the whiteboard "Ok, seems like you all have done this before, would it be ok to choose one of you to do an algorithm also on the whiteboard that I think is of equal difficulty?" That didn't seem to sit so well with some. The lead agreed and I chose another person that seemed capable (to be fair). His code was a mess ---- Lots of corrections and needed help from others (especially the lead). I didn't get a call back despite my algorithm being more than adequate and I'm glad. Hacks.
lol. dude i have an interview where there is a singly linked list and there is a loop so the interviewer ask me how to detect such loop. my first answer was correct except it not correct if u have duplicate value. my answer was u use a secondlist to put it in there to check if the value have been visited. the problem is if u have duplicate, this algorithm would fail...well the interviewer didnt realize that it fail and consider it a correct solution lol. she press me for a better algorithm which i figure out few day later when i was eating.
@@johnchau7641 Thing is with that algorithm, it would work if you used the address of the node (assuming your language allows you to use the address) or a UUID somewhere in the node. So your algorithm is really, like, 90% of a correct solution
today I had an interview. I've been cracking fkn leetcode questions for the past 4 months and they ask me to read .txt file and extract some info from it using regex. WHAT? WHY??
We all know that if you dont solve a software problem in real life in 30min your computer explodes and your business goest bust. Many businesses have gone under due to this, thats why they have to give you timed questions... and prevent you from using Google. Oh that reminds me, if you use Google to solve a bug in real life your entire family gets killed so the interviewer kindly stops you from making that mistake. Interview questions really do represent real life coding problems.
The only thing algorithm interviews prove is that you went to college and studied math theory in the context of computer science. They are good for fresh college graduates, what if someone has 15 years experience developing real world applications? Oh but he needs to remember everything he learned in college because bla bla bla bla bla bla bla... I don't buy any excuse for wasting real engineers time with these gotcha math problems... unless the job is to teach Computer Science these algorithm questions have no place in the interview process.
I've been a "pretty successful" Software Engineer for 22 years...and I've been saying this very thing for a long time. And while, problem-solving is KEY in software development...unless you're constantly writing new Frameworks (from scratch) quizzing people on "coding algorithms" isn't wholly appropriate. That said... Quizzing people on the AFFECTS an Algorithm (or better yet...design-pattern) may have in a problem they are solving...is completely "fair game" As a person who has led many teams in the past my hiring focus was: (1) Never quiz people on things that aren't on their resume (2) Never quiz people on technologies they won't work-on when doing the actual job (3) Always match the "expectation" to the daily jobs "activities" (3) Always require they submit a code-sample (clean code the most important ability there is) (4) Always do whiteboard exercises (to evaluate the ability to communicate-and-cooperate) My experience was...hire smart, not genius. Otherwise, you will have a room full of bored engineers...with high turnover, high costs (or both).
The problem comes when we have the rest of the small companies copying google interview questions of "how to invert a binary search tree" in order to find if you are qualified or not to change the background color of their landing page... that's the exact problem of the modern tech industry summarized in two lines of text. Here is my situation: I have been a self taught programmer for a couple of years, I do mainly front-end and back-end stuff. I have to say that I am terribly bad in coding challenges because they are not part of my requirements to complete projects, so I haven't worked on that in order to avoid wasting my time. I can build anything from scratch, I don't even need any kind of supervision, but because of I am not able to ace coding interviews, i am considered as a "not qualified" developer. Then you can see tons of young devs these days, totally obsessed with leetcode, cracking the code interview book and FANG interview questions but with 0 experience in real projects that have more chances than me to get for example certain front-end jobs.
@@HardcoreMasterBaiter true these days its much more like have you bought a leetcode premium or algo expert and seen this question before or not some people literally take 30 minutes just to understand these stupid algorithm questions meanwhile some dont even read it and solve it LOL shows the standards of so called "FANNG" interviews
I work for one of the leading Telecom companies in US, and I must say, the interview process here is very different from faang company! I am proud to work for such company actually. We allow candidates to use their choice of IDE, ask them to design a small app (like url shortner) using their choice of language, and with permitted google search usage in pair programming setting ensuring all the correct programming practices are followed! Sweet right?
I've never interviewed for a job in my life (nor had a "real job" as an employee). Mostly, it's because I like working for myself. But partly, because I know the interview process would be horrible and loaded with irrelevant BS.
The thing is that it's not that cut and dry. There are plenty of companies that knows what questions to ask and what to look for in a candidate, rather than just the amount of knowledge you can memorize. But it's difficult to sort out which interviews are bad if you haven't had one. As an interviewee, it's best just to ask what the purpose for the interview challenge is, if it doesn't seem related to the position that they're looking for.
I mean...you sell courses on the very skill you refuse to use at a day job but your audience aspire to do so. It’s like the make money online guys that teach people how to make money teaching people how to make money 🤦♂️
@@lareluxe5899 that's a stupid comment because those skills are applicable in all domains whether working for yourself or for an employer. Your logic is off.
My favorite interview questions is "Why do you want this job?" For some reason it's considered "bad" to respond truthfully with "Because I need to pay my rent and feed myself."
Algorithms are designed to weed people out of the large corporate drone machines like Google and Facebook that get 1000's of applications every day. They have their use there to narrow the field, and than you can pick and choose based on other skills. They are entirely pointless for pretty much every other company out there.
@@coherentpanda7115 Not only that, but FANG companies actually know which challenges to put into the interview, based on the position you interview for. They won't give you a question about how to solve the Postman Tour problem if you're interviewing for a UI engineering job. There's also likely a lot of Googlers that haven't solved the interview question but still got the job because they communicated well. The issue is that the companies that try to follow the FANG processes gets this very wrong and focuses on memoization rather than communication.
Companies like Google creates new product. This is quite different from some companies whose products depends on existing products like say Reacts. Where you will be using such tools all day. They are at the front line of creating new products that are used by other companies and thus good problem solving skills is important here.
Hey Ben, I actually think this is a real problem. I walked to my last interview, with experience at hand, hoping to crush the interview. Funny enough, the interviewer was fixated on ensuring I can dictate Djkistra's offhead, yet I am almost 90% sure i would never use that in my day to day work at the company. I believe that the interview should mirror the working environment and domain as close as possible.
I'm not sure how would you mirror working environment in two hour interview. The key decision you'll be paid for will be closely related with business domain you're working and that's ever changing. The interview is generally structured in a way to see if you're not a clueless moron. If you have general cognitive ability you'll be able to muster something close to the answer even if you haven't "prepared". Ben's example of color change is quite dismissive. Although I'm sure a lot of freelance gigs with small businesses and so runs along the lines of that kind of work. But even mid size companies will have fair amount of ever changing complexity at one side while being restricted by legacy creep at other side, not helped by communication problems in between departments. Question is, can you deliver value under these conditions and take ownership of your work? Being able to code is a necessary requirement, however it's not something which will win you points, it's just a baseline to qualify for being talked to. I mean if you're aiming to be a lawyer, reading and writing alone does not suffice. And company has a limited time to check how you deal with complexity. And if you're a newbie, can you even code?
And even if you did need it you could easily just look it up like literally everyone else does. Everyone forgets this stuff eventually because we just never use it on the job.
Antanas Kiselis , if you are not sure how to mirror working environment in 2 hour interview, it’s an indicator someone else should interview people. Mustering a naive approach algorithm won’t give a high score, the correct answer is to always look it up first even if you know it. Having a known good set of algorithms makes choosing a best algorithm much faster, and best algorithm optimizes performance and memory usage. Profiling comes before optimization, and shows exact places to optimize. Many projects don’t even reach profiling stage and are dumped after market test, some one off tools don’t need optimization that much but have marketing value. It depends on software and everyday workflow which questions to ask, and should be chosen wisely by interviewers
You're the kind of person who doesn't like Calculus and say "I'm never gonna use it". This is a naive attitude. Interviews are supposed to test many things in a small period of time, including capacity to handle difficult and annoying problems.
The only people who should be tested on Data Structures & Algorithms are the Engineers who are actually creating new Frameworks, or Libraries that other Programmers use. Most Programmers never need to worry about balancing a red black tree, or implementing a greedy search algorithm, because all of this heavy lifting is done by people with PHD doing University level research and creating the Frameworks & Libraries for all Software Engineers to use. Most of our job is dealing with implementing APIs, scaling Databases, and managing the Business Logic, not coming up with a quick sort algorithm from scratch. Software Engineering interviews are definitely broken and don't really test whether or not the person can think logically for Business related problems.
This is why I'm so stressed about finding a new job. I haven't seen algorithms and data structures since first semester and I've never done any coding interview style problems in any actual work setting.
You should try Leetcode and Hackerrank. They are nothing more than glorified brain puzzles, but incompetent hr people cannot stop relying on them. It's all about memorizing and finding patterns by solving a bunch of these brain teasers.
If you've ever played a game like Starcraft or Tarkov, you'll remember the scary feeling of possibly losing. This is the same. The only way to get over that feeling is to do interviews. Creating and sending out resumes takes time. Going to interviews is scary. But if you've done it a few times, you'll get better at it. That's unfortunately the only way to go forward, no matter how flawed the interviews are.
Hi Yesitsmedaphne, do you need some tutoring for algorithms and leetcode problems? Also I can tutor you on hard debugging questions, which are getting popular
@@IL_Bgentyl Actually, college is more like "if you want your degree, then you have to pay us a bunch of money, and we can make you pay for your class again if you don't memorize everything we want you to think about the world." It's kind of a scam. You're paying them to teach you, and yet if you don't learn, they flunk you out and make you pay extra fees. They don't want to prepare you for the real-world at all; they're mostly for-profit organizations.
@@aznninjaknight I mean, if it was not for junior position (which implies ~zero real experience), this is a task you might have already done a hundred times at least. So it should not be neither hard nor tedious. I am fullstack (but 80% of work is back end), and for the last 10+ years I had to create html tables (or table-like structures via divs & css) hundreds of times. I'm wondering how these tables are not coming to me in my dreams.
Derive this algorithm, under pressure, in 30 mins. Forget the part where the actual solution is named after the PhD grad that toiled at it for months. Further, I'm not convinced you have to skill set to evaluate my 'thought process'. Stop flattering yourself.
You gotta understand that these tech companies are not looking for geniuses or unique individuals with a brain. But braindead obedient robots with a fancy degree and alot of debt. Hence, the asinine interview questions... Notice how most of these questions sound like something you would ask someone that is applying for a factory job. Notice how they only ask you about what algorithms you know, or were capable of memorizing, and nothing else beyond that... What they're really asking is how good you are at following and memorizing instructions. (I.e. Are you familiar with X, Y, or Z machine? How would you assemble a nike sneaker in 30 sec? What steps would you take if a Series (insert digit) X machine broke?)
Dude I'm doing my PhD on a CS related field, where we mostly invent heuristics and local search algorithms do solve specific operations research programs. Except for some network algorithms that I'm frequently implementing there is not a single algorithm that I remember by heart, and honestly there is also no fucking reason to memorize algorithms that I've never never use in practice. I'm not stupid, If I need something I'll be the first one to research all the alternatives, find the one that suits the job understand it, implement it and use it. I followed some code interviewing channels here on YT, and they are fucking depressing man, I"m programming for 10+ years and I don't feel confident at all with the questions asked, unless if there is something that I have specifically worked on in the past. Is this just an impressions game?? I just wish I won't have to get through that ever in my life. This is literally a fucking waste of time for EVERYONE involved...
@@mitpoker7319 honestly I would gladly be their braindead obedient robot for the salary and benefits they offer. I know it sounds silly but I want to work to live, not live to work
Totally spot on, and not only these interviews but now a days many of the tests are based upon some tricky stuff that you need to practice for months but has nothing to do with what you are going to do.
Honestly I feel like an interesting and more realistic interview question would be to give the candidate some significantly broken code and make them figure it out and fix it, while letting them use google or resources whatever they want .
We ask this type of problem during one of the interviews at our current company. I respect them because if you can’t answer this question then you are not eligible. It’s very relevant to every day job.
@@aj9706 I don’t think I’ve ever encountered or given, or had a friend encounter or give, a leetcode style problem that would be classified as hard on leetcode. And I work for a company that has a reputation for particularly tough interviews (although our tough questions tend to have a more real world spin than standard leetcode problems as they’re based on actual problems engineers ran into on the job).
Depends how broken you define significantly as. Also setting it up in a development environment + docker config e.c.t. You could be sat there watching them read through code for hours
@@triblion4543 I am sure that the problem wouldn't include doing the teams work for them lol... You could easily create a common error for the type of work and see if they are either already familiar with that error(They have encountered it before in their work) or they could use resources to figure it out.
I've been a professional software engineer for 15 years (spending over 5yrs each at 2 of the 4 in your thumbnail) and I agree whole heartedly with you. I wish I could say you've fully described the problem but this is more of a tip of the iceberg case where anti-biasing strategies, placement equity, and other good intentions practices often lead to very weak to nonexistent feedback loops for those conducting the interviews. It can literally take tens if not scores of interviews before a new interviewer even begins to conduct effective interviews. I've also found similar issues to exist in the promotion process as well. In the end I feel that it comes down to a roll of the dice. It's not a fair roll as you get to weight them before they are cast, but in the end I feel there is always a large element of chance. So study the worthless algorithms hard and never stop; because while that knowledge and ability has little to no relevance for your day to day job - it is vital to your career... and I hate this reality.
I love when companies say they are desperate for engineers then set unrealistic interview questions that’s don’t even apply to the job. Job: We need react developers stat Interview: Dynamic programming problem
Probably had his heart broken. This doesn’t change the fact that he is absolutely right. Algorithm questions for weeding out candidates is so stupid. You wind up working with assholes who don’t know how to communicate, don’t mesh well with a team, are know it all’s... but hey, they know how to find if a binary tree is balanced.
@@josephmorales652 no because if he had gotten the job he probably would have made a video saying how fang interview's are easy and people who complain about them don't deserve to be software engineers
@@jeremyariche4332 I go in the opposite I had passed a test and I don't care that test was beyond bs it was like being told to shove a cactus up the ass
With 6y of full stack experience i finaly applyed to Toptal for a FRONT END position in december and they gave me 90min to write: -the entire plane boarding and ticket purchasing system -a complex board game algorithm -the entire chess Ai to play against all of those had to be optimized and e2e tested along with 6more rounds of interviews after that. Needless to say i left the call as soon as i saw the codetest and found out that the only way to get that done was if you knew the exact codetest in advance and had a e2e enviroment set up beforehand. Meanwhile i would work on crypto exchanges and custom blockchains at my last job that i got without a single codetest. Those people are insane.
I applied to TopTal as well, but as back-end developer. They gave me 3 test in codility (I still have them) and they have a difficulty of easy, medium and hard, the easy one, is actually pretty simple BUT even if the few simple tests that the page gave you pass, you gotta think of all the edge cases that may occur you, or otherwise you will fail. The medium one is do-able and the hard one is just as do-able as the medium one... problem is that they require you code them in a really well optimized way and validate all edge-cases, with just 3 hours to do them all (The time is okay, but the challenge is just ridiculous). So, in order to pass those tests, you will need to at least ace 2/3 tests in order to go to the next phase (which you could very much fail as well).
Write the solution in pseudocode and provide time estimates for every component. Let them know in 30 minutes instead of 90 to prove you can think fast, but what they asked was impossible.
Those interviews are easy, just steal all their other pens and now they need to go buy new ones. Luckily for them, you have an excellent pen that's up for sale.
@@theillegalhumor8955 I don't think it's soul crushing.. If you learn whats behind them, and use your own ideas it doesn't even take long. Algorithms are something every human can understand well because it's built in us For me it didn't take long to learn (at uni) and doing every problem felt refreshing if you look at it as an other way of developing your problem solving skills If you just learn the bases of it without really using your problem solving skills and just learning the basic algorithms for FANG I don't think you really are a dream developer to have..
But is a pilot who knows how to also build an egine *Objectively Better* than one who can't? Honestly...I still think that answer is "We Need More Evidence Before We Can Know", but thats me. Most people would blindly answer Yes to that question tho
@@Macheako to be able to build engine you need at least bachelor degree in mechanical engineering field, pilot is highly skilled operator of machine. Nothing wrong to ask questions about algorithms from those who supposedly know them. Just spend month learning them, 3 books is enough to cover most of them.
This is a dumb analogy. A pilot isn’t supposed to know how to build a plane’s engine. They didn’t go to school for that. A software developer SHOULD know how to write algorithms cos that’s literally what they went to school for.
As a guy that has relied heavily on memorising things, this is a harrowing truth. Memorising a bunch of info is useless compared to actual understanding.
Dude you have really good point about giving the candidates the real bug to solve rather than reversing linked list, really liked your content you earned a sub with just that one sentence
They are looking to hire 10X level engineers (who generally do very well on these type of interviews) so that competitor companies do not hire them. It's not about the actual day-to-day job they will be doing (which is realistically a bunch of maintenance level coding where the skill required is fairly mid level.) Additionally, they want to hire people with a "do as i'm told / stay in your lane" mind set. Don't we all want to hire smart robots that follow orders!!
"I'd much rather have someone on my team who can actually debug and find error messages and fixes on Google rather than Chad who has Dijkstra's and Prim's algorithms memorized"
@@elysianprime lol. When I worked for other people as in freelance "hire me", I used to get paid to do stuff like that. Some people really are honorless scum.
This is the whole educational system, the question that the test is trying to answer is not "can this candidate solve this problem?" the test is "does this candidate have enough patience to do extremely boring stuff?", i recommend the book "the case against education" the book shines light in these kinds of practice, btw i'm not judging the practice, mainly because i don't have a good alternative
I have red that book, because i remember being centimeters away from dropping out of college "does this candidate have enough patience to do extremely boring stuff?" was a phrase i always had in mind after that book, i finished school, but i have to say, i fucking hated my major, it was just me doing boring shit for 6 years cause i failed shit cause i didn't want to do it, but you are right, what would be the alternative
Well, in an interview where they test me whether or not I can do boring stuff the alternative is simple: Get the f out of there. Why should I want to work at a job that is so boring, they even have to test their candidates patience in the interview process?
my favourite is when an interviewer tells you that they'll act as your google, but when you go to ask them how to do something they respond in cryptic riddles
Most of the need for algorithms has already been solved anyway, and bundled into handy libraries or packages. If you are an algorithm and math genius, you wouldn't be wasting your time at 90% of the jobs out there anyway.
@@coherentpanda7115 that exactly. And also being web developer, many of use don't actually use much of the algorithm or maybe not any of them, I didn't remember any situation where I need to implement an algorithm in my react app.
@@shreyasjejurkar1233 It depends, if you making libraries and frameworks which Google, Facebook and so on do, then knowing about data structures and algorithms is very useful, it's true if you only ever consume libraries and use them it's better to know how their work than knowing if a heap or red-black tree is the right way to go.
But if you don't know how an algorithm works, there is fair chance you're bad. The idea behind this pattern is : "There's no way this candidate is bad if he/she knows well." But if you dont, then this remains uncertain after which they'll reject you or use different testing methods(which is very unlikely)
Same with Google. There's this guy that sells a course on how to pass algorithms, he was an ex google engineer and his job was basically doing UI stuff, basically something that you can learn from a coding bootcamp.
I've been in the industry 30 years and this has always been an issue. The solution is to break the corporate culture of managers interviewing people. That technique requires the creation of questions with an answer, that the manager can know is right or wrong. If other developers are available, and if they are trained to interview people correctly, then that's a better way. Problem is, developers aren't trained for interviewing and they tend to either screw it up, or commit actual legal mistakes, possibly opening the company to liability. The only time I've seen it work was when the devs were given questions to ask and told not to say anything else. In my entire 30 years in the industry, I've only ever been given ONE reasonable coding test, which was "open Visual Studio and debug this web site" and they watched me do it. It was a real bug they pulled from their production system. THAT is a valuable skill test.
Debugging a website sounds pretty easy to setup, and javascript being interpreted, you may not even need an NDA, though obfuscation could ruin your day. It'd be utterly impossible for my job though.
As someone who's been programming for years but is just now trying to crack into the work force part of it, this is definitely intimidating especially seeing as my memorization skills aren't top tier
An incredible flaw in the interview system. I would sure fail an interview like that. Thank god on the company I work for (Esri) interviews are more organic.
interview: sort binary tree
job: manualy update csv files
😃😃😃
LOL
But please do put those manual corrections in a script
Oufff
This is not freaking funny, I had exact same situation, except it was xml file.
I love situations where the employer wants you to have 3 years of experience with an API that exists for less than a year.
How come this comment has so little likes!!
Kinda like I saw a while ago... This job for an experienced Angular developer, which I tought I was, ya know, with my 4 years experience... But nahh, they wanted a guy with a decade experience in Angular... So I tought best not to apply... 🤣 🤣 🤣 🤣
That usually happens because HR writes the job offering without consulting their tech staff.
@@einarabelc5 because this never happens
Or the ones where even the inventor of said technology wouldn't qualify.
And it feels defeating graduating this winter and seeing how it seems like a lot of places ask requirements for an entry level job that most newcomers won't even have.
"I want to develop front end apps!" - "Oh yeah? Well prove that P = NP first, then we can talk".
Underrated comment lmao
I'm a web developer and I don't understand the question...
@@petarprokopenko645 That's the point, you shouldn't understand that question :)
It's currently one of the hardest and unsolved problem in computing theory.
en.wikipedia.org/wiki/P_versus_NP_problem
The answer is 42.
@@NaudVanDalen Brilliant! Hurry up, publish a paper, Nobel prize guaranteed :)
A friend of mine is a recruiter in the tech industry. She told me that she regularly works with seasoned FAANG engineers who can't get jobs at different companies because they can't pass the whiteboarding interviews. If someone is good enough to keep his job at Google for many years, denying him a job because he can't rebalance a red black tree from memory is utterly ridiculous.
Ugh. Red and black trees. We went over them for like a week in data structures before the final. Could not get the concept down.
@@Suekru3 "Ugh. Red and black trees. We went over them for like a week in data structures before the final. Could not get the concept down."
Me too! The whole time we were learning them in school, I had two questions that I never asked. Why have I never seen these anywhere outside of class? I know how binary trees work, what is this offering me?
damn, Trees are GREEN!! Da-a!
Try 20 minutes throughout the whole course. Gawking hell
@@misterguy2329 They're largely used to implement map that uses tree as a backend. Examples are ordered_map in C++ stl, TreeMap in Java, and basically in most libraries if they implement a in memory tree it's probably a red black tree
"forcing developers to interview while using a light themed editor" -- no job is worth that
ewww hahah
Well the funniest part about that is that it’s actually not an editor that they’re making you use; it’s Google Docs 😂
@squ34ky2 Forget indents, you will have PTSD when the first letter of every word auto-capitalizes.
Def Main():
Print("Hello")
Lol he said that as I read this comment
don't let your skill be tainted by the color of the editor ¯\_(ツ)_/¯
Company product: CRM/ERP...
Company Interview: Build a particle accelerator emulator
And do that with O(1) Complexity.
:) MDR
Daniel Cunha , 😂😂
@@budsyremo That part shouldn't be hard. Just hardcode the number of particles and say your system doesn't support more than that.
😂😂😂 you just made my day man. Very hilarious and very true.
yes a week is necessary for centering a div please tell my boss
Dude u r literally everywhere. No matter the topic u have a comment. U crazy man
@@Test_749 counter ratio
hi
@@henrybottomsworth ello
Bro Y do I always find you in the same videos I watched
Manager: "How'd you get the job?! Your code is terrible."
Me: "I took the interview 400 times. Eventually you just get good at interviews, and hope it transfers."
You brute forced the interview haha.
This comment should have a lot more likes 🤣
Me at the moment. I'm working a non tech gig until i get back in the industry, but i've had to put all my projects (the thing that you actually learn better coding practices) on hold and spend my after work time studying for interviews.
My boy created a loop that only end if the company hire him.
@@gabrielgarcia7554 🤣🤣🤣
Job position: Detective
Interviewer: Please solve these 5 sudoku puzzles in 10 minutes.
Job position: Janitor
Interviewer: Draw the particle structures of ecoli and salmonella within 5 minutes.
lmao
Who are they trying to hire? Will Hunting?
Yes, they are delusional
pretty much
They're actually both possible, the second if you practice for months on drawing the particle structures of every type of bacteria, and the sudokus if you're a sudoku world record holder and the sudokus are half-filled in.
As someone who is a software engineer for 15 years. I hardsmashed this like button
I read that as "hash mapped" this like button
I tapped it so many times, google server’s went down for .1 microseconds
It's a miracle that the button isn't broken
Same here!! I just can't understand HOW questions like reverse this binary tree or find all common multiples of all numbers of this array can tell if a programmer is good or not! Really??? 20 years programming... hundreds of projects delivered, millions of lines of code.... and NEVER (I said NEVER) needed to use one of those single questions I have heard on these interviews!!! Big O???? Who on earth keep thinking on this shit while coding? They keep saying: "don't over engineer it", but you need to deliver the fastest code ever! People take weeks or months to get into a perfect solution, but you need to deliver it in 30 min.
@@ChristianAlmeidabr that is very dependant on your field. If you work for a service company that builds web sites all year of course you don't need to be good at designing algorithms because that's not your job. But if you work at a company that builds a very specific product where 90% of the job is to improve on service quality/precision/performances of course you need to understand what big O notation is, of course you need to understand what it means, otherwise you can't even chat with your collegues at the coffee break. But on the other hand in that second case you probably don't care about JavaScript and you probably don't even know what react is. All jobs require different skills and knowledge, CS is super vast and so are CS jobs, don't assume a skill you don't need is useless. Most of us are good in one or two very "narrow" fields (web/machine learning/graph theory/distributed computation/optimization/NLP/video games/sounds/embedded systems/... and many many more). Some of us have decent knowledge of maybe 5 fields, but in general we basically know nothing about CS. Don't mistake your field for the entirety of CS. It's just a tiny bit. So yes, most jobs are in the web (which itself contains subfields that most people from the web don't know) but many people also do work in other fields. That's not because they are not on stackoverflow nor GitHub that they don't exist. They just work on projects where reading academic paper is a normal thing, where spending time chatting about algorithms is the best way to write good code. It's a bit sad to see people denigrate other fields like this... That's also a problem for some beginners because that make them think that CS = web development. Which make them think they don't need to learn computer science because they already know so much after 1-2 year. I really hope CS will not starve passionate people because we hide 99% of the discipline with web related stuff. (Don't get me wrong, there are many interesting topics in the large web spectrum, I'm just saying that the emerged part of the iceberg).
immediately liked after the "center the div" joke
The hardest question of them all.
@@moritzw42 agree :D
Stop the video an came to the comments just for that lol
well, I remember when centering divs vertically was quite complicated lol
"A week", I died hahaha
4:12 You also have the reverse. You have candidates that will pass the interviews with flying colors and get hired, but actually make terrible software engineers because they have only textbook algorithm knowledge and no debugging skills, design skills, etc.
Should I go out of my way to memorize all of these algorithm stuffs while I also do my best to learn these design and debugging skills? (I'm just getting into coding with the desire of becoming a software engineer
@@KingMidgardsormr Hey I think a better way would to balance between both. I would say on a 4/1 ratio where you spend most of your time developing stuff and the rest doing algorithms.
What kind of software development are you doing by the way? Web development, mechine learning or something else?
@@hmshuvo2332 Im really not sure it's still early days. All I know is the term software engineer which was defined differently than web development etc etc.
I'm really not sure what's the best option for me yet.
@@KingMidgardsormr Well. web development is basically a sub domain of the software engineering industry. So, please don't get worked up on this. If you like web development, machine learning or whatever, just do it.
As for myself, I am a software engineering who does full stack web development.
@@hmshuvo2332 Could you give me a description of what you do in a typical days work? Im really set on software engineering I just don't know the intricacies of it all yet xD
_On the internship application_ : Coding experience and an interest to learn!
_On the interview_ : *Traverse this unweighted binary doubly-linked tree graph with O(0) time complexity.*
Ah yes, the very achievable O(0) complexity response: _applicant has left the call_
@@drklimbal O(0) is not hard to achieve. Just had // before every command. It makes the code really fast. If you are on python add # instead.
hey. I'm an idiot. and i need to ask. what in the sweet hell is an unweighted binary doubly-linked tree graph?
@@lepruconx its a tree that has 2 ropes coming to it, and doesnt have weight
@@lepruconx Look into data structures & algorithms; very good material to learn. Binary trees are [often] implemented using linked lists. A linked list is comprised of a number of nodes(items) which each track the next node in the list(essentially forming a chain of 'links'). A doubly-linked list has each node tracking the node prior & next(parent & child) in the list. Binary trees track two child nodes(typically 'left' and 'right'). A node which has no children is a 'leaf' whereas a node with at least one child is a 'branch'. Nodes with descendants beyond immediate children form a 'subtree'. Doubly-linked binary trees track the child nodes but also the parent node. Weighted binary trees are 'self-balancing' trees that track the size of subtrees(descendants). Balanced trees ensure that the number of subtrees on one child branch does not exceed(within acceptable limits) the number of subtrees on the other child branch. Graphs are data structures comprised of nodes(vertices) and edges(links between vertices). They can be implemented using a number of different data structures, including binary trees. So an "unweighted binary doubly-linked tree graph" is a graph using a doubly-linked binary tree internally that doesn't need to track subtrees(and often isn't 'balanced').
The O(0) time complexity is a joke... unless possibly using quantum computing and somehow finding a node before requesting it.
*Special note: An unweighted binary tree can still be balanced by using a 'state' variable to dynamically choose which branch to follow when adding a node. State variables, in this sense, merely keep track of the branch on which the last node was added(flipped from 'left' to 'right' and vice-versa). I don't know why it isn't taught more often in CS courses.
As a CS student I get very frustrated over the fact that all my coding exams are done on paper. Yes a paper where you write the code down with a pen :)
Are you from Algeria? xD
So what?
You are not asked to write an entire application on paper.
As long as syntax errors don't count too much, I don't see the problem with this.
The same, and i even failed few exams because i forgot to put ; or a typfeller error. Its absurd.
Matija Novosel getting out of a test knowing you did well then seeing your mark get destroyed because you forgot some semicolons or brackets is beyond frustrating
@@MrCmon113 I lost 25 point on a 30 point question for writing "=" instead of "==".
Something that I did perfectly 5 lines above it, which showed I knew the concept.
I was a test pressure pen and paper hiccup which made me retake an entire course.
so fuck that shit.
"A week to center a div " really happens on government projects
Banking projects too. And after two weeks send it back saying the documentation was wrong.
@SeasonedGamer should told him hes a fucking idipt
Bet imma apply to the IRS
People think these kind of comments about 1 second things taking weeks or months are jokes.
Its true.
If you ever work for government, you will know its all true!! lol
Lord Nerotix don’t think it’s a joke. Have you seen the government try and repair roads vs a private company. Big government sucks. Trump 2020
As a developer with ~20 years experience, I walked out of my last interview after the interviewer asked me to sort an array of strings...
strings.sort()
That's very sad dude wtf
I'm not a software developer but I've done a few coding tutorials, isn't it quite easy to sort an array of strings?
@@superpantman of course, and that was the point. I am a dev with 20+ years experience. I told him he's wasting everyone's time by asking silly questions, and that I found it insulting. I also said that if he wanted to proceed with real software development questions, then fine, but he insisted on this silly interview so I said goodbye..
@@mantisory smart person would take the easy question and just make the money
Support Engineer here. I interviewed someone once and I just asked them how to do an upgrade of our product. They googled it and paraphrased the doc they found. I was like "congrats you just solved a support case". We hired that person.
Nice job Josh
Hey you guys still hiring?
most of IT is just googling things lol. New stuff comes out all the time, basically doing IT support is just being less lazy or smarter than the employees who could easily fix the problem on their own if they google.
@@Alistair You could apply that logic to literally 90% of the professions out there.
As most stuff exist on the internet.
@@lockofmetal8894 Its right to let people look up information on the internet. Searching for information and solving a problem is a skill in itself and also part of life in 2022. Searching the internet for answers was seen as cheating before but I think people realise now its common sense to not limit yourself to your own head. There is really no need to do it.
Coding Interviews are like school tests, they both make you memorize stuff you will never use.
@trollnerd yo! I know how to write hello world and that alert function in js. Can you hire me now?
Mitochondria is the powerhouse of the cell
I would never want to work for a company like that. Because clearly the interviewers have no idea what the job involves and they have no idea how to assess it. You'd think these kind of people would get fired for not knowing what they're doing. But no, they got to judge other people on who to hire. Yes it's a pretty sick world we live in.
Ah yes much joy being quizzed on the irrelevant.
@trollnerd would you hire me too :)))
Me: studies algorithms for weeks for interview
Interviewer: "Explain how you would center a div"
Me: "I'll just see myself out now"
I'll take that job interview from you np
Center a what?
@Zdeněk Grůza
Is this a web design joke, I'm too smart understand?
Taxtro Everyone should learn enough web design to know what centering a div is... plus it’s helpful when you need to build your own portfolio page and stuff
Display: block; margin: 0 lul
Me on my 2nd sem 1st year degree: *forgets everything they teach me after the exams*
Also me watching this video : *sweating profusely in panic*
Yeah. Buddy graduated and hasn’t been able to land a job within a year. Definitely making me nervous.
@@Suekru3 did they ever find one?
Yeah I'm a year in and I don't know really anything. I think I'll just have to go ahead and teach myself everything asap
Hey for you folks who are struggling to land their first job. I struggled almost a year after my graduation to get my first job as a developer. I would say focus on one area and land the first job. The easiest one would be JavaScript and front end because of the amount of resources available and the learning curve. Now i have more than 5 years of experience and am currently working as a senior software Engineer. All these things happen that time properly for like 2 months .
@@hari2061I also have a ton of experience but because of the horrible job market, the companies are having fun with us. I'm so tired of this outdated process.
I even resorted to using an AI tool for my last interviews after my old company decided to "right size" to help me answer the trivia questions they are throwing at us!
Me after just graduating from 4 years of CS in university:
... wait... what the f*** is a binary tree again?
@trollnerd Exactly the point!
Sorry bro you just didn't pay attention if you don't even know what that is lol
@@whatgaca I have zero idea what that is
@@aj-sz8mu the original post by the op makes it seem like he literally has no idea what a binary tree even is. You should at least know what one is.
@@xyzqsrbo he said "again". Its one of those things you just learn in the book and probably test for ONCE. he's encountered it and probably forgot about it. I assure you even if you ask me to describe it, I cant. i have a vague idea of how it works in code since i work as a developer. But similar as how i wont be able to define what object oriented programming is, even tho i use it and i know why its good.
Im a software engineer in Germany and thank god we don't have interviews like these. I went to many interviews and none of them wanted me to code in front of them. They just asked some questions for 1h to test my technical know how. All those questions were related to the position I applied to
I hope The Netherlands is the same. I want to go into web development.
But even here in Germany this kind of interviews raise up here and there with big players. Some companies outsource the recruiting process and there are freelancer platforms offering positions to check applicants in coding interviews. Still, with KMUs it's more or less unlikely.
well u were lucky! ive had around 10 interviews in germany, or even more and all of them required live coding
when did you have your interviews?
What? Questions related to your job? That's crazy talk
I've been coding for 20 years, and whenever a recruiter says we have you do these coding challenges, I say "You know, the longer you've been programming, the less you remember how to do this stuff, because you don't use it in real life." They say, "Well we just want to see how you think and how you solve problems." B.S. These types of algorithmic programming challenges besides the simpler ones don't show how you think. A lot of stuff like the dynamic programming problems were solved by college professors after many years of research. Nobody would think up these solutions on their own.
These programming challenges weed out experienced developers unless they want to take the time to re-learn this stuff. It explains why google and facebook are filled with young/inexperienced developers and how come it takes so many thousands of them to get anything done, and they still have buggy products.
Yuppie culture is a disgusting infested hemorrhoid on the a hole of humanity...
👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻
What done? Those companies are literally mafias filled with rats that just buy the products that experienced programmers at startups make. Yes, they always have a small team of people and research teams that build stuff like grafana, but you know what? Welcome to the second America, the old America, the post WWII that built this country up is being overtaken by this college grad/internet/Marxist mentality. And for the record, this cookie-curter mentality is part of the Marxist landscape of thinking.
I have been coding professionally for 15 years now, and even owned a startup for 2 years. If I go to an interview that asks me to do a coding exercise on the spot, I tell them to fuck off. If they ask me to do at home, 80% chance I tell them to fuck off. Last time they did, they offered me a chance to alternatively show my portfolio of previous coding experiences. Now that is top notch in my book!
I have helped administer (and have been given) coding algorithms that DID gauge how the candidate thinks. The key is treating it as a pair programming exercise. Ask what they're thinking, give them hints, don't worry about syntax errors, and make it clear that you don't expect a complete solution.
If you aren't treating it like pair programming with the interviewer, then you won't find out how the candidate thinks.
I've been a competitive programmer for years and I have a PhD in algorithms. But even so I totally agree that interviewing like this is wrong. Someone who has surface knowledge of algorithms might do much better than me. And my PhD supervisor who is practically a genius might look absolutely stupid in an interview like this.
I'm sorry this is unrelated. As a student I'm really curious how someone with a PhD organises the things they learned long term.
I mean you have the deep understanding of things that you gain, which you don't really forget but there are probably also those technical things you only need occasionally that anyone would forget given enough time.
Do you have some tips for that?
I'd love to build this kind of system from my first year. I think it can be really valuable
@@ghosthunter0950 Hey, that's true I do forget things a lot. But the way it's always worked for me was to focus only on the things that I'm actively working on. If I feel like I need something to solve a problem and I've forgotten then I just go review that and try to use it. Nothing more.
However, recently I've been working in industry in a job that's not related to algorithms so I was starting to forget algorithms. To prevent that I only spend 4 hours per week to review or solve problems. This is a really good system if you can maintain it. 4 hours per week doesn't seem like much but it will compound.
this is absolutely bs , tourists is a competitive programmer and specialized in tcs, would he ever get beat by someone who crammed leetcode ? Never. If you are red at codeforce , your algo skills probably stick with you forever , all normies out there can't beat you. Maybe you are just not that good , lmfao
Ben: Coding interviews are broken
Random girl in ad: Dou you know what's the most scariest thing in the interview is not knowing how to invert a binary tree?
Same
Lol that algoexpert ad
That’s megan
And that girl hates computer
dO YOu WaNt tO bE a SoFtWaRE eNGineer aT GoOgLe???!?!!
"Google does not let you use Google on a Google interview"
A great Paradox
Ask the Google interviewer if you can use Bing instead.
Duckduckgo will give you a better answer anyway.
fine, i'll use bing then
Not really a paradox, I think we're missing the point of what they're looking for here
@@IrelandVonVicious yup.
"You may not use Google on this interview."
"Why are you looking stuff up?"
"Why can't I?"
"I said no Google!"
"Alright, then I am, and was, fully compliant."
"How?"
"take one look at the screen"
I feel you man, thanks for posting this.
I spent 6 years earning a PhD and have been programming 5 years professionally afterwards. Yet here I am, for the umpteenth time, having to "refresh" my memory of mostly useless factoids and concepts to prove that I can still do the job I've been doing for years. Is there any other profession that's so internally judgemental? Are construction workers doing "jackhammer trials"? Even highly skilled fields like doctors - they don't have to retake the mcats on a whiteboard while the heads of the hospital breath down their necks.
Yes, sure I've spent thousands of hours crafting code and building systems, but all that is useless if I can't traverse a weighted graph using depth-first on a whiteboard. By all means though, please hire the supremely intelligent 20 year old who has spent the last 4 years in CS classes doing just that. Who cares if he's never run a SQL command in his life.
Docs have massive board exams every 4 years which are hard/time consuming af. But yeah I agree with u
@@hvnc1756 yeah and the board exams are just as pointless tbh
a better example would be the field of dentistry or orthodontics where instead of testing you on useless garbage every few years, they force you to attend conferences where new *practical* techniques are presented, and you can take as little or as much knowledge from the presentations as you want
The most similar job is probably being an actor, where even famous actors still have to audition for roles (even small ones). The difference is we're not competing for $20M gigs and widespread recognition.
Dijkstra is an easy algorithm though
@@joshuafrazer9224 I'd say acting is the exact inversion of this. Most auditions require you to display the exact skills you need for that specific role. Can you read perform as this character on command. It's pretty straightforward. A direct comparison would be requiring auditioners to sit down and take a test on theater/film history, vocal placement, body language and microexpressions, etc. But they don't do this because no one cares if an actor understands the theory behind their abilities. They care about whether they can perform.
That's why there's so many stories of performers from extremely varied backgrounds. Because sometimes going to Julliard pays off, but sometimes a random construction worker can intuit their way to stardom.
Pavarotti couldn't sight-read music. Something many vocal performance schools require before they even admit you. But one can hardly argue that the opera houses that hired him didn't get their money's worth.
A pet peeve of mine, which I think companies should test for in tech interviews: Reading and reviewing code. As a programmer you spend 90% of your time looking through existing code. Getting a bugfixing task covers this to an extent. If I was in charge of hiring, I would have a task, where the applicant gets a code sample, maybe even a real pull request, and then explains their thought process as they walk through the code as they try and understand what it is doing. This opens the floor for meaningful discussions on possible improvements regarding naming, refactoring/architecture, documentation, and tests. Including an actual bug for them to find might make sense. And then at the end you could ask them to extend the code with a small function. The required logic doesn't have to be complicated.
The main problem I see with this is that this isn’t as language agnostic as the coding interviews. In general, if somebody is applying for a company that primarily uses Java, but most of their experience is in C++, they might not be able to debug the issue in real time (depending on what it is). But I’m the job, the developer will be able to pick up the new frameworks and languages relatively quickly if they have good fundamentals.
Lol you must think you are special.
Coding interview is meant to filter down from a bunch of qualified candidates.
Everybody applying to this jobs can code.
Passing data structure and algorithms is the bare minimum.
No matter what format they change the interview into, the people passing now are probably going to be the same people passing in the new format because they are grinders.
The only difference is that the new format will be less objective.
Please, never be an interviewer.
I created a pull request exercise and it was very effective for awhile. I could tell when the recruiters caught on and started feeding candidates the answers, suddenly everyone was passing even if they couldn't code.
I actually this this in my last company where I was responsible for hiring.
and the people we got this stayed longer and did have high output and impact.
Last month I was in the market for a new job and every company thing they are google, in all of my years in working in companies large and small I never once needed any of this LC stuff, the skills are totally different.
I could have spent a couple of months grinding LC again, but what's the point, luckily the new AI stuff is going to kill this process before it kills our jobs, so I found a tool that helps me answer these kinds of questions in the interview and the fact I got a job with it proves to me how useless the whole process is, I use GitHub copilot and ChatGPT in my day to day work then why can't I use them in the interview!
end of rant
Coding interviews nowadays are memory tests: I failed an algorithm interview question, showed it to my friend who recognised the question before I had even asked it and gave a perfect answer just because he had seen it before. There's no out-of-the-box thinking - it's just a matter of who is willing to practice the hardest. Maybe that's the quality they're looking for in candidates? But I say there's a lack of correlation between between algo-knowledge and being a good software developer.
@@ItsVab which makes sense because under the pressure of an interview, one is unlikely to be in the perfect state of mind to use their problem solving skills, which never flourish under such silly time contraints as those in an interview. Of course memorization has become the go to.
Memorize the most u mean
@@Bayo106 u and vaibzz123 are right on. I once have an interview where the problem have no real world application lol just to see if i can solve. smh u have a list like this [7,8,9,1,2,3]. it is sorted but rotated lol . the problem is how u implement the binary search so that u can search for a value lol. in real life, i would use a sort function and then binaray searcch. i dont see how solving this problem have any application in real world.
well what if those big tech companies wants no out-of-the-box-thinking worker? I mean they are huge, and they needs to tame the employee isn't it.
Cindy Liang yes, part of it is to test how subordinate the candidate is. Sometimes they are looking for someone they can utilize as opposed to someone who thinks for themselves: a good slave.
This isn’t going to change until we start walking out of interviews when the process gets lame. It’s not a one way road. Im as interested in my interviewer proving their worth to me as they are in me doing the same.
I have two guilty pleasures: 1, I love quitting crappy jobs. 2, I love walking out of crappy interviews.
Sir, i salute you
I read this comment and immediately showed this to my girlfriend. This is SO me and these words have come out of my mouth multiple times lol I’ve already done both multiple times - walked out on crappy interviews and quit crappy jobs
@SOLVM, this is the only way about it. F#ck this bs.
I have done that in my imagination quite a no of times, but mostly I have been a sucker. I think I am going to start doing that pretty soon.. whenever someone plays a dumb "Can you solve this super popular internet sensation coding challenge (that I just copied from the internet)?" LOL or tries to put down my work and achievements without even trying to know what kind of contributor I can be, once I join them... you are right... we need to start making the change and I hope it turns out to be "working" :)
You forgot: a few months later anonymously d*uche the company - Reddit (if they don't already) should have a special 'Tech companies that suck' sub that allows people to describe the horror stories. They need to be named and shamed. Especially the smaller ones who think they're high and mighty.
I’m a professional software developer for over 16 years.
I see programming a bit like being a chef...there a tons of different specialities and skills. These interviews are like asking good chefs to recreate a very specific Michellin star meal (a bit like masterchef). Just because you can’t recreate it within a very limited time frame doesn’t make you a bad chef...you’re under pressure, etc and even the original creator took a long time to deliver such a dish. It’s the same with programming.
You cannot expect a lot of developers to know very intricate algorithms...it’s pointless as they’ve already been figured out. So long as you have a basic understanding and willingness to learn you’re good to go. If a job requires you to understand a very specific complex issue then sure, advertise for that role and question them on it. Don’t torture the poor sods who have nothing to do with this.
Avoid companies like this. You often find people who can memorise random crap do well at this stuff but in real world situations they panic and are unable to think for themselves. Keep your chin up and consider it as a lucky escape...you could’ve ended up working for them. Their loss
Reversing a string in place, fizzbuzz, validating BST is not a complex algorithm.
It's more like asking chefs to show that they can boil water.
@@etopowertwon you would be asked tougher algorithm questions like reversing a linked list.
I'm applying for my first job as a front-end dev and I couldn't agree more with Ben and your comparizon is very true as well. I think the employers are also right to do these hard tests.
As Ben said, they make it hard on purpose so that they can point out your strengths or your capacity to work under stress and how well you perform and I'm sure they check for some other stuff that I couldn't know. For example, I just did a test and I had 10 questions to answer under an hour and 40 minutes. I did not answer the second question at all and did not even spend more than 30 seconds reading it. The context was like 3 paragraphs long and I knew if I didn't skip it, I would've probably spent the whole hour and 30 minutes on it. That proves them for example that I know what to prioritize so that I can respect their deadlines by doing more simple tasks under a short period once I'll be working for them.
Wow, what a great analogy!
I am currently on the market interviewing, I am a NodeJS Fullstack developer and I've been asked questions about LinkedList (which is more of a Java question) and rotating all the values in a 2 dimensional matrix that represent an image right if a passed in flag was 1 and rotating them left if the flag was 0. I'm like WTF? Two questions like this, 40 minutes to solve both. in 20 years of programming, I've never worked with matrices; I did in college. Interviewing was never like this 6 or 7 years ago.
I've been a dev for 2 years. I lost my contract last week. I'm interviewing and frankly it's DISGUSTING how many of these are asking me to spend HOURS on stuff that has nothing to do with me making them a web app.
So, how it's going now?
@@Haise-san making 6 figures with an amazing team. Super happy
@@Conceptsexplainedsimply Wow, that's is so nice to hear! Ty
@@Conceptsexplainedsimply I am proud of you stranger🥺🥺🥺
@@Conceptsexplainedsimply🙂 sweet!! How did you study for the interviews if i may ask?
Right on point. The system is broken. They are all looking for the boy genius, while they are dumb as door nail themselves. Software is the only field that is screwed up like this. A mechanical, electrical or civil engineer is never asked to do on the spot analysis to qualify. All you need is a PE ( Professional Engineer ) license and answer some general how will you go about doing this or that. Some of this is due to the arrogance that is prevalent in the software industry. You can test this easily by posting a relatively beginner question on stack-overflow and see how they try to humiliate you instead of answering your question.
Yeah what is up with that on stack overflow lol
There is always at least one person commenting on why someone is posting such a question, always negatively.
They don't know the context of the question, why do they care. Just give them an answer than pester lol.
idk I've always had a great experience on stack overflow, and the small number of trolls are usually well outnumbered by those actually trying to help so its easy to ignore
What the fuck was the point of 60K in student loans if they're just gonna make me "RE-prove" my credentials everytime I get laid off due to their poor management?
No really...fuck the modern world. This shit aint gonna last lol 🤣👌🏻
Read the docs..... RTFM
Ive worked with people in many fields...and unfortunately, where Ive seen more cockiness and egos as high as the sky...its in the software field. I can almost picture one of those big head cartoons throwing a tantrum everytime I hear one of these kind of soft engineers speak...
As part of my current jobs interview I was given a JSON file and asked to create something that was related to the sector the company was in at home over a few days. I could use whatever tech stack I wanted as well. After this, I had a face to face where I pair programmed with some senior guys to make changes to the app I built.
Think this was a great approach as it meant I could demonstrate what I am strongest on, and then actually work with those I would work with on a day to day basis.
The problem with this approach is candidates feel obliged to spend days on these things. Also you can’t be sure who wrote the code...
@@Cassp0nk It's easy to see if the person lied with the next step he described, pair programming. It's obvious if they have no idea how what they supposedly did works or can't modify it properly.
I’m not spending a few days working for free hoping I get a job. Lol fuck that.
If they don’t want me at the interview then that’s their loss, I’m not wasting three days of my time writing shit for them. They hire me, pay me, then I’ll write it.
The few days is basically take your time and do it when you can, not a spend 8 hours per day and have it complete by X date. But yea, I totally agree that people get sucked into these things and spend days on them which is a shame. I set myself a max of 4 hours (mainly because I actually enjoyed the task!)
And yea, the idea behind the pair programming is to test out knowledge of what you built. Making changes to something you know is easier than something you dont, so it will show who's lying
"Sort out a binary tree"
i want to make UI for apps
*DO IT NOW*
Dude, if you're pressed, remember to:
- Ask clarifying questions, like if you are allowed to mutate it, or if you're allowed to build a new collection, etc.
- Ask obvious questions to buy you a bit of time, like "can I choose language etc., can I assume certain reasonable methods being present, etc.?" (you know like left() and right() on a binary tree.
This gives you a few minutes, and it makes it seem like you're thinking instead of desperately kickstarting your brain.
Also, know the simplest implementations of simple things. If you're asked to sort, heapsort is dirt simple, uses recursion and is n log n. If you're asked for better say that you don't remember radix sort, but you can look it up, unless you remember exactly how to do radix sort.
Also remember that interviewing is a skill. Find someone to practice with. Especially if you're a student this shouldn't be too hard. GLHF. You'll need it.
@M B I do, but have never learnt, wanted to know, needed to know, nor in any way understood any of the above.. so we are on the same level :)
tree.left, tree.right = tree.right, tree.left
Commenting to find this again! (Who am I kidding I probably won't look at this again)
Outsource UI for Apps to India.
my god, this video is perfect. it needs to be spreaded at the whole community. interviewers need to STOP doing these type of interviews for projects that has some simple CRUDs
I shared it on linkedin already. hahaha
I remember I went to an interview at the University of Toronto. He sat me down in front of a computer and basically ask me to write: A login page, and a page to manage his courses - basically all the CRUDs. I had to create a new database from scratch and the whole nine yards. I asked him how long do I have? He said one hour. I basically told him. Let's assume that I can actually do that in one hour. It would be the most brutal codebase with no modularity and separation of concerns, no design patterns, etc. I then said, thanks but no thanks and walked right out and didn't look back.
codematrix good for you man, if interviewers are looking for machines they should just build one
How to finish a project that would take days in one hour for free - get a job candidate to solve it for you during an 'interview'.
"If I could do this in an hour, and do it well, I would be applying for a much more lucrative job than this."
@@Dxpress_ if i could do this in 1hr, i would start the next open ai company..
I would have said "Great answer, can you start Monday"? I'd rather have someone stand on their principles of good coding practices than someone who can write code fast.
"GG, you're not getting the job, it's over"
Imagine your interviewer actually saying this after you get one question wrong
Loooooool
After three interviews (in ne intervew I mean, just 3 talks) for 2 hours each, you can screw it up.
Dude saying that is better than what some companies do after keeping you in their interview process for weeks: nothing.
I pretty much saw that on a guy's face last week, after I panicked and answered a very simple question in an overly complicated way. I realised later he was just asking about basic maths and not about computer vision algorithms/implementations. He was very polite about it but he kind of winced and leaned back like "ok I think we're done here"
IT's hard to believe but it actually happened to me hahaha - I certainly dodged a bullet though so pretty happy
One of the problems is that many of the 1st line interviewers are HR people. They are there to weed people out but don't have a clue. For us it's like asking a rocket scientist to play the piano to qualify.
The situation is often even worse: how can a recrapper evaluate a candidate for skills he does't have? For many years I have a phrase: "How can you find a real russian speaker if you don't speak russian?"
Sono capo di capi. Some time ago I was returning from an intrv and I got a call. It was from the same recrap co. proposing me the very same job!
It's honestly more disturbing to get that stuff from actual engineers. They know it's wrong but go along with it.
Defiantly, If you're going to hire a programmer, get a programmer who's been through the system and know what they're doing interview people and devise their own appropriate tests.
A friend had a interview recently and I was so happy to hear that they only asked him about recent projects and his previous job experience. Hired on the spot with no whiteboard session.
May I ask what company it was? That sounds like something I'd like to apply for lol
@@Maha-rg5xh Same
Had the same experience, it was pharmaceutical company and the position was for software engineering. They asked only about my experience and what I wanted from them and basically that's it.
@@elchupacabra4936 which one bro, please share
I mean if he's had job experience already then he wouldnt need to go for the whiteboard part again.
When you show up to a Microsoft interview, the room you interview in doesn't have windows :o
Mine had windows, and it had a nice view through it (spanish speakers will get the Windows Vista reference)
I just finished an interview loop at Google, and this really strikes a nerve with me right now. I've been writing real world software for a decade, and I just spent a week studying all the useless crap I forgot from college so I could try and guess what obscure graph questions they would ask me... and guess what, I forgot to study strongly connected directional graphs... I studied tries... I remembered how to use queues and stacks... but then I forgot how to solve that problem about calculating the minimum number of moves for a knight to take another piece on a chess board of infinite size.
meanwhile, the job was literally to write test frameworks for internal team members... so, none of the questions would actually evaluate if I am capable of performing the job at hand.
I've had similar experiences. You are not alone, and this does not mean you are a poor engineer.
>but then I forgot how to solve that problem about calculating the minimum number of moves for a knight to take another piece on a chess board of infinite size.
That's the kind of problem solving you should be able to do on the spot. A dead simple naive solution which scales horribly is a simple BFS. Then you can realize that you can do the problem quite greedily until you get close (within a few moves) of the target, and then do a BFS from the target. The greedy first part should be O(1) (essentially just teleport to a known spot that is still optimal) and then you pay for a very cheap BFS to find the shortest path to that known optimal spot.
That particular example was not about knowing a particular problem. It's about problem solving fundamentals and some algorithm fundamentals (realizing that BFS would give the right answer, and that maybe this problem allows for greed). The question is if you can take some basic knowledge (maybe probing for info you need) and figure shit out. From my experience, that's what the process is about.
It tests your analytical skills bruh
Alcesmire thing is, whole that makes sense, in my opinion is still wrong, for even the basic algorithmic knowledge tends to be useless, a senior I used to work with told me he walked out of a FAANG interview after they asked him a question just like that one, he said “I’ve been a senior at Boeing for almost a decade and they think I can’t handle the job because I can’t figure out on the spot an algorithm that took months to create, that’s just insulting”, he worked in the industry for decades and never used any of that knowledge, so even a basic BFS with a little greediness is out of boundaries for most developers, because... why wouldn’t it be? If they asked you to write a garbage collector from strach I’m sure you’ll be lost, but it’s the same concept as this algorithms, something difficult that less than 1% of the industry actually does and that is not related to the job you’ll be doing.
@@willinton06 This kind of algorithm doesn't take months to create though. It's simple application of truly basic building blocks (after being able to break apart the problem enough). Even at the scales of garbage collectors the same kind of process applies. The basic building blocks may be quite different (memory allocation, cache, atomics, ...). However it's still a process of breaking down a task and figuring out how to apply basic knowledge to figure out how to build something that solves the problem. Be it something as basic as ref counting GC, something more intricate like tracing GC, or something else entirely.
The focus of these kinds of interviews aren't (or shouldn't be) about quizzing you about some obscure algorithm or data structure, but to see if you can break down a problem and apply basic knowledge. It just turns out that algorithmic questions (and to some extent system design questions) are some of the easiest way of teasing out that ability and see it in action.
In my experience with FAANG you are often hired as someone with a lot of general knowledge who knows how to apply it, maybe with some particular subject knowledge. You will likely be moved about, general skills and picking up new skills are important (ime general skills helps you in picking up further skills).
For sure the requirement will change if you are looking for a subject expert. I presume in such cases the interviewing process will look a lot different.
"No one's going to start a 30 minute timer and command you to center that div.... they're going to give you a week for hard stuff like that"
lmao, that killed me
Absolutely bang on. I was a developer for 25 years before choosing a career change for exactly this reason. I found increasingly, every time I went to a new job, I was being asked increasingly stupid questions. What was worse was I realised that even when I answered, the interviewers didn't understand the answer. I actually burst out laughing at one interview, my 3rd interview that week, and asked if they'd found the interview questions on line because I'd already been asked the exact same questions elsewhere. I've left that world behind now, and I'm glad.
Watcha doing.now ?
Watcha doing.now?
What do you do now?
Thank you for this. I've been programming for twenty years and have not ever had to use any of these algorithms, yet I've still managed to write software that people can and have used. It's sad, but with this interview process as it is, I couldn't get a job at most tech companies today. My focus is on writing clean, well-tested code, and it serves me well. In the event I have a specific use case for a specific algorithm, that information is just a Google search away. Thankfully, my current employer respected my years of experience and gave a take-home project relevant to the work I'd be doing. It took me about two hours to do. All they asked was for me to commit often and post it to a public Github repo so they could review my code and thought process via the commit history. I'm still there 2.5 years later, creating software and enjoying myself.
I have a sneaking suspicion this is their way of hiring semi competent drones that are good at memorization but don't think above their station.
Spot on :)
What company do you work for? It sounds like somewhere I might not mind applying.
@@MrFrazerz Unfortunately, we were acquired at the end of last year and some of the folks responsible for the culture have moved on. I'm not comfortable identifying the company in this forum but feel free to DM me and I can provide a bit more information.
"no one is going to start a 30 minute timer and command you to center that div. they're going to give you a week for hard stuff like that." LOL
😂 😂 LOL! A week minimum!
Hard... Sure...
Has anyone figured out how to center a goddamn div?
@@hospitaller100 it's not possible
@@hospitaller100 (CSS)
div{
margin-left:auto;
margin-right:auto;
}
OR
div{
display: flex;
justify-content: center;
align-items: center;
}
After 20 years of software dev mostly as a contractor, my advice to employers would be to ask candidates how they would design a solution to a problem. Design, not coding is the relevant skill. Algorithms are to software what bricks are to houses.
God knows when will i be able to solve coding ques. I will go crazy some day.
Not really though.. I mean sometimes, don't get me wrong, they are used but so far (4 years) in my experience I have never had to use an algorithm. In fact, 90% of what I do is figure out how old cold works so that I can fix it or manipulate it to some degree.
AMEN. This
@@xMrJanuaryx well you have to devise algorithms in code(simple ones typically), but they aren't some complex Divide and Conquer algorithm regurgitation. I completely agree though most jobs are "here is this old C code base port it to C++(whatever version) and make changes where you think necessary for ease of use and effeciency"
My company has a software design interview for experienced candidates. It’s a bit unfair to expect new grads to be able to design software systems under constraints without any experience though. I think it’s pretty common for FAANG companies to ask software design problems as well
Problem is that tech companies want to homogenize the interview process, pick a few candidates, then distribute them to the open positions in the company. You probably won't even see the interviewer ever again because he was sourced from a completely different team than the one you end up in if you are selected.
Interviewer: You can't use Google!
You: I got it.
Computer: duckduckgo.com
This seems like a case of Goodhart's Law: when a measure becomes a target it ceases to be a good measure. It used to be that only geniuses would be able to on-the-spot answer random algorithm questions, so they were a good measure. Then everyone started doing it because it seemed to be working, and said algorithm questions became well-known, driving a feedback loop of constantly looking for harder & more esoteric questions that haven't been leaked. Now these questions are getting a lot of "luck", which candidates happened to hit those particular algorithms before showing up, and the genuine skill measure is partially washed out.
Sooooooo true
Sounds like Effort Justification Fallacy.
lol, many many years ago before the dot com crash it was DOM questions, like you were going to memorize the entire model or something. If the list object doesn't have a method for what you need create a new object that does. So my answer is to extend the object then Google the algorithm and create the method in the new object to do what I want, so I never have to use the algorithm again, simple yeah? I remember the college kids coming into the industry in the 90's always wanting to abstract the object or isolate however you like to think of it wrappers around wrappers around wrappers. But the young man spent so much time philosophizing about it he got almost nothing done! I've been kind of a solo entrepreneur for many years just because of these kinds of things. It's a construction job your building software... "Get 'er done Mister!!!" The really cool stuff is in Quantum computing, micro services and Kubernetes
If you got a problem with this answer we can come back and refactor it later!
Commenting to find this again
Companies be like:
Virgin Googler VS Advanced Algorithm Chad
I used to contract with USAA as a front-end dev. My interview was a 3 hour, unmoderated, session where I sat down with my own laptop and coded a few pages, without branding or content, from PSDs that their devs had coded not too long ago. Once I got the job, I was happy to see that I was tested on exactly what I would be doing, just on a bit smaller scale.
USAA is not a tech company by any stretch, but that interview set the standard for what I feel is a justifiable use of my time when interviewing. I may never get a job at a FAANG, but that’s okay because I’d rather work somewhere that doesn’t set unrealistic expectations compared to what they’re willing to pay me.
This literally just happened to me. It was dehumanizing. Thank you fo saying this.
Bout to have another interview tomorrow lol
And round and round we go
Matthew Morton how did it go
You're not alone.
I fucking hate it. I feel like a fkin imposter with a fake degree
@@blackfrogstudios6670 as expected. The coding section, administered by a native indian speaker, went poorly.
The admin section, administered by a white guy who naturally speaks english, was apparently fantastic!...
I'm not kidding.
The game is rigged...but i still need some fuckin money lolol
13 year developer here.
Had an interview a few months ago and the CTO gave me a BS challenge with some algorithm.
I thanked him for the "opportunity" and left.
That takes Bolas man. I hope you have a family backing you up.
@@einarabelc5 I had a job, I was looking for something else ahah
😂😂😂🔥
Was the CEO also sitting in? In that case, the CTO probably cared more about impressing his boss with his obscure knowledge than finding a good candidate. Walking out was definitely the right call, you don't want to work in a place like that.
Had such an interview recently, but was too polite to just walk out. In the end, they found my (IMHO rather reasonable) offer too high, didn't even try to negotiate. I'm kinda curious whom they will find in the end - but happy that it won't be my problem.
Well done. I do the same when asked.
Algoexpert: "how dare you telling the truth, ben"
hahahaha
Ya want Clemente come here too
lold hard to this.
Well he made an video on this and ben actualy commented on that video. The thing is the Interviews are great for FANG companies. Other companies can use different hiring methods, which might be more optimised for their company, but it is questionable wether the implementation of such a system is worth it, when you can just copy the system FANG uses and it will probaly work good enough.
TechLead: Sip coffee, Sip Coffee, I'm a millionaire btw, Sip coffee, I'm the TechLead. Ben, you would never be like me, Sip Coffee. I can solve 30 problems in 1 hour because I'm the TechLead.
Honestly, problem-solving skills are very important in the field of software engineering (and many other fields in general), and I think that was what algorithm questions were originally intended to test. So applicants being able to solve harder questions would mean they have a better problem-solving skill. The reason I think that system is now a little outdated is because everyone is studying like crazy for these problems and literally memorize so many of them that by the time they see a question on an actual interview, they would have already solved it couple a times before. At this point, these interviews will only test people on their obsession and free-time to memorize leetcode problems, not actually test their problem solving skills.
Well if it was only about problem-solving why wouldnt you let them use google?
@@jandetmers6478 Most interviews I've done allow you to google search syntax and things like that. You just can't google search the answer/algorithm. But obviously, if you have two candidates where one knows all the syntax and the other doesn't, if both solve the question (and all else equals), then the person who didn't need to look up syntax is the better candidate because they were either more prepared or used the language enough to be familiar with all the syntax.
You’re spot on, Grant. I’m an interviewer at a tech company, and this is exactly what we’re looking for. I don’t care about syntax (I usually give the candidate syntax if they forget, or tell them to make up whatever syntax they want to use)
This largely depends on the coding question chosen, and it’s really important to pick realistic challenges, instead of things like knapsack or towers of Hanoi.
Problem solving as a Software Engineer doesn't equal algorithm. Most problems we solve have nothing to do with using an algorithm to solve it.
@@ntimeproductions It's true that sometimes solving problems doesn't mean using algorithms. However, can you think of a more consistent and fair way of evaluating problem solving skills than asking coding questions? Is the most fundamental tool of a software engineer not data structures and algorithms?
Here's something to try if you decide you don't want to work at a company that's interviewing you: They asked me to do an algorithm at an interview in front of 10 people. It was basically the low level-plumbing bs that comes built-in with the language but they wanted me to do it anyway. You would think this would be important to the company if they wanted me to test for it in an interview, right? So, I turned to them and said before I started on the whiteboard "Ok, seems like you all have done this before, would it be ok to choose one of you to do an algorithm also on the whiteboard that I think is of equal difficulty?" That didn't seem to sit so well with some. The lead agreed and I chose another person that seemed capable (to be fair). His code was a mess ---- Lots of corrections and needed help from others (especially the lead). I didn't get a call back despite my algorithm being more than adequate and I'm glad. Hacks.
lol. dude i have an interview where there is a singly linked list and there is a loop so the interviewer ask me how to detect such loop. my first answer was correct except it not correct if u have duplicate value. my answer was u use a secondlist to put it in there to check if the value have been visited. the problem is if u have duplicate, this algorithm would fail...well the interviewer didnt realize that it fail and consider it a correct solution lol. she press me for a better algorithm which i figure out few day later when i was eating.
You intellectually tea-bagged them.
I hope this is a true story because it's fucking awesome
So you basically used a reverse card?
@@johnchau7641 Thing is with that algorithm, it would work if you used the address of the node (assuming your language allows you to use the address) or a UUID somewhere in the node. So your algorithm is really, like, 90% of a correct solution
Well said.
Yike มานี่เลยหรอพี่
today I had an interview. I've been cracking fkn leetcode questions for the past 4 months and they ask me to read .txt file and extract some info from it using regex. WHAT? WHY??
We all know that if you dont solve a software problem in real life in 30min your computer explodes and your business goest bust. Many businesses have gone under due to this, thats why they have to give you timed questions... and prevent you from using Google. Oh that reminds me, if you use Google to solve a bug in real life your entire family gets killed so the interviewer kindly stops you from making that mistake.
Interview questions really do represent real life coding problems.
The only thing algorithm interviews prove is that you went to college and studied math theory in the context of computer science. They are good for fresh college graduates, what if someone has 15 years experience developing real world applications? Oh but he needs to remember everything he learned in college because bla bla bla bla bla bla bla...
I don't buy any excuse for wasting real engineers time with these gotcha math problems... unless the job is to teach Computer Science these algorithm questions have no place in the interview process.
This is full of stereotypes. They aren't going to ask you to code in a doc... And light theme is fine.
Interview: Program a virtual shell
Job: drool on yourself, fall asleep, maybe get asked to find the first letter in a string sometimes
as an (almost)graduate software engineer, I have to ask: is the difference indeed that big?
string[0];
@@tootaashraf1 string is null :(
@@alxjones who said that
@@tootaashraf1 The error log
I've been a "pretty successful" Software Engineer for 22 years...and I've been saying this very thing for a long time. And while, problem-solving is KEY in software development...unless you're constantly writing new Frameworks (from scratch) quizzing people on "coding algorithms" isn't wholly appropriate.
That said...
Quizzing people on the AFFECTS an Algorithm (or better yet...design-pattern) may have in a problem they are solving...is completely "fair game"
As a person who has led many teams in the past my hiring focus was:
(1) Never quiz people on things that aren't on their resume
(2) Never quiz people on technologies they won't work-on when doing the actual job
(3) Always match the "expectation" to the daily jobs "activities"
(3) Always require they submit a code-sample (clean code the most important ability there is)
(4) Always do whiteboard exercises (to evaluate the ability to communicate-and-cooperate)
My experience was...hire smart, not genius. Otherwise, you will have a room full of bored engineers...with high turnover, high costs (or both).
Your last point is a really good one.
@Robert Jordan: You fail: It's *EFFECTS, not *AFFECTS*. You don't get the job. We're going with another candidate.
Google: You cannot use google to search a problem to solve.
Me: *Searches on Bing*
Google: *Pikachu shock face*
"Damn, he's good"
I would use DuckDuckGo. :p Bing? Ewwww... stinky Microsoft.
The interviewer calling the CEO "Sir.... I think we have a situation here"
Google: He betrayed us
Wait that's illegal
The problem comes when we have the rest of the small companies copying google interview questions of "how to invert a binary search tree" in order to find if you are qualified or not to change the background color of their landing page...
that's the exact problem of the modern tech industry summarized in two lines of text.
Here is my situation: I have been a self taught programmer for a couple of years, I do mainly front-end and back-end stuff. I have to say that I am terribly bad in coding challenges because they are not part of my requirements to complete projects, so I haven't worked on that in order to avoid wasting my time. I can build anything from scratch, I don't even need any kind of supervision, but because of I am not able to ace coding interviews, i am considered as a "not qualified" developer. Then you can see tons of young devs these days, totally obsessed with leetcode, cracking the code interview book and FANG interview questions but with 0 experience in real projects that have more chances than me to get for example certain front-end jobs.
These interviews test how many algorithms you have memorized.
Coding problems == Test whether or not you just googled the problem beforehand, not your problem solving skills
@@HardcoreMasterBaiter true
these days its much more like have you bought a leetcode premium or algo expert and seen this question before or not
some people literally take 30 minutes just to understand these stupid algorithm questions meanwhile some dont even read it and solve it LOL
shows the standards of so called "FANNG" interviews
yup, they give 15 min to read a paragraph of 25 lines and expect you to find solution and start code, I mean what's the point
I work for one of the leading Telecom companies in US, and I must say, the interview process here is very different from faang company! I am proud to work for such company actually. We allow candidates to use their choice of IDE, ask them to design a small app (like url shortner) using their choice of language, and with permitted google search usage in pair programming setting ensuring all the correct programming practices are followed! Sweet right?
I've never interviewed for a job in my life (nor had a "real job" as an employee). Mostly, it's because I like working for myself. But partly, because I know the interview process would be horrible and loaded with irrelevant BS.
plus if you have an "authority problem" then it's ideal.
The thing is that it's not that cut and dry. There are plenty of companies that knows what questions to ask and what to look for in a candidate, rather than just the amount of knowledge you can memorize. But it's difficult to sort out which interviews are bad if you haven't had one. As an interviewee, it's best just to ask what the purpose for the interview challenge is, if it doesn't seem related to the position that they're looking for.
I mean...you sell courses on the very skill you refuse to use at a day job but your audience aspire to do so. It’s like the make money online guys that teach people how to make money teaching people how to make money 🤦♂️
@@lareluxe5899 that's a stupid comment because those skills are applicable in all domains whether working for yourself or for an employer. Your logic is off.
My favorite interview questions is "Why do you want this job?"
For some reason it's considered "bad" to respond truthfully with "Because I need to pay my rent and feed myself."
Being good at algorithm interviews does NOT make you a good programmer.
Algorithms are designed to weed people out of the large corporate drone machines like Google and Facebook that get 1000's of applications every day. They have their use there to narrow the field, and than you can pick and choose based on other skills. They are entirely pointless for pretty much every other company out there.
@@coherentpanda7115 Not only that, but FANG companies actually know which challenges to put into the interview, based on the position you interview for. They won't give you a question about how to solve the Postman Tour problem if you're interviewing for a UI engineering job. There's also likely a lot of Googlers that haven't solved the interview question but still got the job because they communicated well.
The issue is that the companies that try to follow the FANG processes gets this very wrong and focuses on memoization rather than communication.
Actually knowing them does help you write better code and understand problems better.
Companies like Google creates new product. This is quite different from some companies whose products depends on existing products like say Reacts. Where you will be using such tools all day. They are at the front line of creating new products that are used by other companies and thus good problem solving skills is important here.
Agreed.
Hey Ben, I actually think this is a real problem. I walked to my last interview, with experience at hand, hoping to crush the interview. Funny enough, the interviewer was fixated on ensuring I can dictate Djkistra's offhead, yet I am almost 90% sure i would never use that in my day to day work at the company.
I believe that the interview should mirror the working environment and domain as close as possible.
I'm not sure how would you mirror working environment in two hour interview. The key decision you'll be paid for will be closely related with business domain you're working and that's ever changing. The interview is generally structured in a way to see if you're not a clueless moron. If you have general cognitive ability you'll be able to muster something close to the answer even if you haven't "prepared".
Ben's example of color change is quite dismissive. Although I'm sure a lot of freelance gigs with small businesses and so runs along the lines of that kind of work. But even mid size companies will have fair amount of ever changing complexity at one side while being restricted by legacy creep at other side, not helped by communication problems in between departments. Question is, can you deliver value under these conditions and take ownership of your work?
Being able to code is a necessary requirement, however it's not something which will win you points, it's just a baseline to qualify for being talked to. I mean if you're aiming to be a lawyer, reading and writing alone does not suffice. And company has a limited time to check how you deal with complexity. And if you're a newbie, can you even code?
And even if you did need it you could easily just look it up like literally everyone else does. Everyone forgets this stuff eventually because we just never use it on the job.
Antanas Kiselis , if you are not sure how to mirror working environment in 2 hour interview, it’s an indicator someone else should interview people. Mustering a naive approach algorithm won’t give a high score, the correct answer is to always look it up first even if you know it. Having a known good set of algorithms makes choosing a best algorithm much faster, and best algorithm optimizes performance and memory usage. Profiling comes before optimization, and shows exact places to optimize. Many projects don’t even reach profiling stage and are dumped after market test, some one off tools don’t need optimization that much but have marketing value. It depends on software and everyday workflow which questions to ask, and should be chosen wisely by interviewers
That makes me feel sick inside. What lunacy.
You're the kind of person who doesn't like Calculus and say "I'm never gonna use it". This is a naive attitude. Interviews are supposed to test many things in a small period of time, including capacity to handle difficult and annoying problems.
The only people who should be tested on Data Structures & Algorithms are the Engineers who are actually creating new Frameworks, or Libraries that other Programmers use.
Most Programmers never need to worry about balancing a red black tree, or implementing a greedy search algorithm, because all of this heavy lifting is done by people with PHD doing University level research and creating the Frameworks & Libraries for all Software Engineers to use.
Most of our job is dealing with implementing APIs, scaling Databases, and managing the Business Logic, not coming up with a quick sort algorithm from scratch.
Software Engineering interviews are definitely broken and don't really test whether or not the person can think logically for Business related problems.
This is why I'm so stressed about finding a new job. I haven't seen algorithms and data structures since first semester and I've never done any coding interview style problems in any actual work setting.
You should try Leetcode and Hackerrank. They are nothing more than glorified brain puzzles, but incompetent hr people cannot stop relying on them. It's all about memorizing and finding patterns by solving a bunch of these brain teasers.
If you've ever played a game like Starcraft or Tarkov, you'll remember the scary feeling of possibly losing. This is the same. The only way to get over that feeling is to do interviews. Creating and sending out resumes takes time. Going to interviews is scary. But if you've done it a few times, you'll get better at it. That's unfortunately the only way to go forward, no matter how flawed the interviews are.
Hi Yesitsmedaphne, do you need some tutoring for algorithms and leetcode problems? Also I can tutor you on hard debugging questions, which are getting popular
@@rookswoodsrok3614 sad thing is after college you shouldn’t need another course to prep. That’s what all the college is for.
@@IL_Bgentyl Actually, college is more like "if you want your degree, then you have to pay us a bunch of money, and we can make you pay for your class again if you don't memorize everything we want you to think about the world." It's kind of a scam. You're paying them to teach you, and yet if you don't learn, they flunk you out and make you pay extra fees. They don't want to prepare you for the real-world at all; they're mostly for-profit organizations.
I loved my interview at Wells Fargo where they wanted me to write out an HTML table. On a whiteboard.
Honestly, this sounds super easy.
@@aznninjaknight I mean, if it was not for junior position (which implies ~zero real experience), this is a task you might have already done a hundred times at least. So it should not be neither hard nor tedious. I am fullstack (but 80% of work is back end), and for the last 10+ years I had to create html tables (or table-like structures via divs & css) hundreds of times. I'm wondering how these tables are not coming to me in my dreams.
@@fenderbender2096 writing and typing are two different things
@@averagehololiveenjoyer8496 black and white are different colors. You are welcome!
Lol, I could fail that I'm so used to using emet, js, ... to generate stuff like this xD, fuck me. hehe
Derive this algorithm, under pressure, in 30 mins. Forget the part where the actual solution is named after the PhD grad that toiled at it for months.
Further, I'm not convinced you have to skill set to evaluate my 'thought process'. Stop flattering yourself.
You gotta understand that these tech companies are not looking for geniuses or unique individuals with a brain. But braindead obedient robots with a fancy degree and alot of debt. Hence, the asinine interview questions... Notice how most of these questions sound like something you would ask someone that is applying for a factory job. Notice how they only ask you about what algorithms you know, or were capable of memorizing, and nothing else beyond that... What they're really asking is how good you are at following and memorizing instructions.
(I.e. Are you familiar with X, Y, or Z machine? How would you assemble a nike sneaker in 30 sec? What steps would you take if a Series (insert digit) X machine broke?)
Dude I'm doing my PhD on a CS related field, where we mostly invent heuristics and local search algorithms do solve specific operations research programs. Except for some network algorithms that I'm frequently implementing there is not a single algorithm that I remember by heart, and honestly there is also no fucking reason to memorize algorithms that I've never never use in practice. I'm not stupid, If I need something I'll be the first one to research all the alternatives, find the one that suits the job understand it, implement it and use it. I followed some code interviewing channels here on YT, and they are fucking depressing man, I"m programming for 10+ years and I don't feel confident at all with the questions asked, unless if there is something that I have specifically worked on in the past. Is this just an impressions game?? I just wish I won't have to get through that ever in my life. This is literally a fucking waste of time for EVERYONE involved...
@@mitpoker7319 honestly I would gladly be their braindead obedient robot for the salary and benefits they offer. I know it sounds silly but I want to work to live, not live to work
@@essayedgar look, a sheep. You forgot to "Baaa." Come on. Say it with me: Baaa!
@@TheRomanRSPS good luck keeping your family fed with morals instead of food
Totally spot on, and not only these interviews but now a days many of the tests are based upon some tricky stuff that you need to practice for months but has nothing to do with what you are going to do.
Interview: Solve One of the computer science problems
Job: make a CRUD for saving new employees to the system.
trueeeeee
Honestly I feel like an interesting and more realistic interview question would be to give the candidate some significantly broken code and make them figure it out and fix it, while letting them use google or resources whatever they want .
Best way is to not ask hard leetcode questions just easy n medium questions
We ask this type of problem during one of the interviews at our current company. I respect them because if you can’t answer this question then you are not eligible. It’s very relevant to every day job.
@@aj9706 I don’t think I’ve ever encountered or given, or had a friend encounter or give, a leetcode style problem that would be classified as hard on leetcode. And I work for a company that has a reputation for particularly tough interviews (although our tough questions tend to have a more real world spin than standard leetcode problems as they’re based on actual problems engineers ran into on the job).
Depends how broken you define significantly as. Also setting it up in a development environment + docker config e.c.t. You could be sat there watching them read through code for hours
@@triblion4543 I am sure that the problem wouldn't include doing the teams work for them lol...
You could easily create a common error for the type of work and see if they are either already familiar with that error(They have encountered it before in their work) or they could use resources to figure it out.
I've been a professional software engineer for 15 years (spending over 5yrs each at 2 of the 4 in your thumbnail) and I agree whole heartedly with you. I wish I could say you've fully described the problem but this is more of a tip of the iceberg case where anti-biasing strategies, placement equity, and other good intentions practices often lead to very weak to nonexistent feedback loops for those conducting the interviews. It can literally take tens if not scores of interviews before a new interviewer even begins to conduct effective interviews.
I've also found similar issues to exist in the promotion process as well. In the end I feel that it comes down to a roll of the dice. It's not a fair roll as you get to weight them before they are cast, but in the end I feel there is always a large element of chance.
So study the worthless algorithms hard and never stop; because while that knowledge and ability has little to no relevance for your day to day job - it is vital to your career... and I hate this reality.
I love when companies say they are desperate for engineers then set unrealistic interview questions that’s don’t even apply to the job.
Job: We need react developers stat
Interview: Dynamic programming problem
Thats a huge problem with the entire computer software and IT industry.
something tells me this guy just had a coding interview
Probably had his heart broken. This doesn’t change the fact that he is absolutely right. Algorithm questions for weeding out candidates is so stupid. You wind up working with assholes who don’t know how to communicate, don’t mesh well with a team, are know it all’s... but hey, they know how to find if a binary tree is balanced.
Something tells me it didn't get the job
@@josephmorales652 no because if he had gotten the job he probably would have made a video saying how fang interview's are easy and people who complain about them don't deserve to be software engineers
@@jeremyariche4332 Were you at the interview with him?
@@jeremyariche4332 I go in the opposite I had passed a test and I don't care that test was beyond bs it was like being told to shove a cactus up the ass
Hi I'm here about the janitor position?
Come on in sir, have seat. Now what can you tell me about this large partial collider!
Sir, it’s a collider that only partially collides its particles
@@rahulray5411 holy fuck, here, have a Nobel prize
With 6y of full stack experience i finaly applyed to Toptal for a FRONT END position in december and they gave me 90min to write:
-the entire plane boarding and ticket purchasing system
-a complex board game algorithm
-the entire chess Ai to play against
all of those had to be optimized and e2e tested along with 6more rounds of interviews after that. Needless to say i left the call as soon as i saw the codetest and found out that the only way to get that done was if you knew the exact codetest in advance and had a e2e enviroment set up beforehand. Meanwhile i would work on crypto exchanges and custom blockchains at my last job that i got without a single codetest. Those people are insane.
you have bigger chances wining in dice game at witcher 2 than passing that.
Did you have to make just one of those out of your choice or did you have to make all of those?
I applied to TopTal as well, but as back-end developer. They gave me 3 test in codility (I still have them) and they have a difficulty of easy, medium and hard, the easy one, is actually pretty simple BUT even if the few simple tests that the page gave you pass, you gotta think of all the edge cases that may occur you, or otherwise you will fail. The medium one is do-able and the hard one is just as do-able as the medium one... problem is that they require you code them in a really well optimized way and validate all edge-cases, with just 3 hours to do them all (The time is okay, but the challenge is just ridiculous). So, in order to pass those tests, you will need to at least ace 2/3 tests in order to go to the next phase (which you could very much fail as well).
@@diogocoelho2314 I think it was all of those.
Write the solution in pseudocode and provide time estimates for every component. Let them know in 30 minutes instead of 90 to prove you can think fast, but what they asked was impossible.
i've been feeling this hard. been looking at switching jobs after 3yrs full time and it's frustrating that smaller companies are using these questions
*It's better than selling a pen in interview.*
Actually preparing for those type of interviews takes a LOT lesser than algorithmic interviews. Its the time which is wasted that is so soul crushing
Those interviews are easy, just steal all their other pens and now they need to go buy new ones. Luckily for them, you have an excellent pen that's up for sale.
When was the last time you bought a pen?
why? you lookin for a pen or something?
@@theillegalhumor8955 I don't think it's soul crushing.. If you learn whats behind them, and use your own ideas it doesn't even take long. Algorithms are something every human can understand well because it's built in us
For me it didn't take long to learn (at uni) and doing every problem felt refreshing if you look at it as an other way of developing your problem solving skills
If you just learn the bases of it without really using your problem solving skills and just learning the basic algorithms for FANG I don't think you really are a dream developer to have..
It's like asking a pilot, how to build an airplane engine? 😂
This.
Hopefully to know the differences between a lycoming 0-320 and a PBS TP100. Knowing how they work. Not needing to put one together.
But is a pilot who knows how to also build an egine *Objectively Better* than one who can't?
Honestly...I still think that answer is "We Need More Evidence Before We Can Know", but thats me. Most people would blindly answer Yes to that question tho
@@Macheako to be able to build engine you need at least bachelor degree in mechanical engineering field, pilot is highly skilled operator of machine. Nothing wrong to ask questions about algorithms from those who supposedly know them. Just spend month learning them, 3 books is enough to cover most of them.
This is a dumb analogy. A pilot isn’t supposed to know how to build a plane’s engine. They didn’t go to school for that. A software developer SHOULD know how to write algorithms cos that’s literally what they went to school for.
Pure Memory != Actual Knowledge, this is my view on the hysteria
100%
Learning c# and that comment (even if it is a easy one) made me giggle for understanding!
@CooCooWizard of course, but there is no way to build up experience if you can't even get an entry level job as a CS graduate..
@CooCooWizard some ppl just have bad memory
As a guy that has relied heavily on memorising things, this is a harrowing truth. Memorising a bunch of info is useless compared to actual understanding.
Dude you have really good point about giving the candidates the real bug to solve rather than reversing linked list, really liked your content you earned a sub with just that one sentence
They are looking to hire 10X level engineers (who generally do very well on these type of interviews) so that competitor companies do not hire them. It's not about the actual day-to-day job they will be doing (which is realistically a bunch of maintenance level coding where the skill required is fairly mid level.)
Additionally, they want to hire people with a "do as i'm told / stay in your lane" mind set.
Don't we all want to hire smart robots that follow orders!!
@Ryan Howe Or because IT is not as standardized as others technical jobs
@Ryan Howe
I can write a program with 1/10 of the lines in 1/10 of the time though. Will I understand it a week later? No. But I can write it.
@Ryan Howe That is a lie idiots tell themselves to feel better.
"I'd much rather have someone on my team who can actually debug and find error messages and fixes on Google rather than Chad who has Dijkstra's and Prim's algorithms memorized"
I'm learning to code rn, I'll be back in 2 years and see if I get some of these references.
Bro same and bet, 2023 we come straight back here to confirm our findings.
@@stevensanchez1192, I am excited to read it! Let us know!
Good learning journey , you can learn AI too!
Let's hope y'all don't forget this
Same
Thank you brother you are fighting a fight for all of us, you must be protected at all cost much love
Having to dust off the ol' 5 year outdated textbook every interview and pray they ask the right questions
A company asked me to solve an issue on their repository. I found it pretty amazing.
Did they pay you for that?
@@elysianprime lol. When I worked for other people as in freelance "hire me", I used to get paid to do stuff like that.
Some people really are honorless scum.
@@elysianprime yep, stuff like this is truly disgusting
This is the whole educational system, the question that the test is trying to answer is not "can this candidate solve this problem?" the test is "does this candidate have enough patience to do extremely boring stuff?", i recommend the book "the case against education" the book shines light in these kinds of practice, btw i'm not judging the practice, mainly because i don't have a good alternative
I have red that book, because i remember being centimeters away from dropping out of college "does this candidate have enough patience to do extremely boring stuff?" was a phrase i always had in mind after that book, i finished school, but i have to say, i fucking hated my major, it was just me doing boring shit for 6 years cause i failed shit cause i didn't want to do it, but you are right, what would be the alternative
Well, in an interview where they test me whether or not I can do boring stuff the alternative is simple: Get the f out of there. Why should I want to work at a job that is so boring, they even have to test their candidates patience in the interview process?
my favourite is when an interviewer tells you that they'll act as your google, but when you go to ask them how to do something they respond in cryptic riddles
Most of the algorithms they ask in interviews, they won't even use them in their projects.
Most of the need for algorithms has already been solved anyway, and bundled into handy libraries or packages. If you are an algorithm and math genius, you wouldn't be wasting your time at 90% of the jobs out there anyway.
@@coherentpanda7115 that exactly. And also being web developer, many of use don't actually use much of the algorithm or maybe not any of them, I didn't remember any situation where I need to implement an algorithm in my react app.
@@shreyasjejurkar1233 It depends, if you making libraries and frameworks which Google, Facebook and so on do, then knowing about data structures and algorithms is very useful, it's true if you only ever consume libraries and use them it's better to know how their work than knowing if a heap or red-black tree is the right way to go.
Bunch of ding dongs.
But if you don't know how an algorithm works, there is fair chance you're bad. The idea behind this pattern is : "There's no way this candidate is bad if he/she knows well." But if you dont, then this remains uncertain after which they'll reject you or use different testing methods(which is very unlikely)
Same with Google. There's this guy that sells a course on how to pass algorithms, he was an ex google engineer and his job was basically doing UI stuff, basically something that you can learn from a coding bootcamp.
What is the course?
@@4everInTheClouds He's probably talking about the guy who runs Algo Expert. Just search that on UA-cam and you'll find his channel.
Both algoexpert and techlead did UI stuff at google.
Pretty sure techlead
Pretty sure techlead
I've been in the industry 30 years and this has always been an issue. The solution is to break the corporate culture of managers interviewing people. That technique requires the creation of questions with an answer, that the manager can know is right or wrong. If other developers are available, and if they are trained to interview people correctly, then that's a better way. Problem is, developers aren't trained for interviewing and they tend to either screw it up, or commit actual legal mistakes, possibly opening the company to liability. The only time I've seen it work was when the devs were given questions to ask and told not to say anything else. In my entire 30 years in the industry, I've only ever been given ONE reasonable coding test, which was "open Visual Studio and debug this web site" and they watched me do it. It was a real bug they pulled from their production system. THAT is a valuable skill test.
Debugging a website sounds pretty easy to setup, and javascript being interpreted, you may not even need an NDA, though obfuscation could ruin your day.
It'd be utterly impossible for my job though.
As someone who's been programming for years but is just now trying to crack into the work force part of it, this is definitely intimidating especially seeing as my memorization skills aren't top tier
An incredible flaw in the interview system. I would sure fail an interview like that. Thank god on the company I work for (Esri) interviews are more organic.
I wanna work for ESRI, how do i get ther?
@@snapsmicrosystems7532 Have you tried looking on their careers website? It's how you apply for every job.
This is so real! Now in days, we have companies selling Restaurant Fryers asking me about Linked Lists (This happened to me).
Interview questions: Godzilla vs KingKong
Actual Job: Kid vs Cat
*Lizard vs Monke
2:53 It actually did take me 1 week to once center a . Then I switched from front-end to backend engineering.