Every startup gives take-home assignment, which you should be working on for a week. Usually, it's easy but time-consuming. Plus, you don't need to know any algorithm out there. All you need to be able to do is a trivial StackOverflow search over hipster piece of tech usage of which they're expecting to see. What's the point? It only tells me that the company doesn't care about efficiency/good algorithms implementations. I'm going to be involved in building some lagging piece of sh*t which will reach its scalability potential at 100 users. On the other hand, getting challenging LC Hard level problem on an interview feels good because then you know that the bar is high and people pay attention to the good implementations. Am I the only one to feel like that?
Because Leetcode is an awful way to asses a real human for a position, and companies are realizing there is no correlation between performance in leetcoding ego trip puzzles and real world project performance.
Also horse shit. FAANG companies don’t need INNOVATERS. They need code monkeys and a good code monkey doesn’t mind cranking out that LC because it’s what they were born to do. Just don’t call them engineers, cause it ain’t the same. LC doesn’t make engineers.
Anyone can crank out 500 hours of leetcode and pass the interview. It’s not impressive. I just don’t understand how this is the way it’s done now. It’s obvious that it needs to change and the change is clearly occurring. Wouldn’t a skilled engineer find it much more fun to actually build something he/she can be proud of, rather than reverse a binary tree for the thousandth time 🤷🏻♂️🤖
Leetcode problems have nothing in common with real world problems. In real life, no one cares if you can implement an efficient sorting algorithm.
Totally not true. High LC scores require good use of math and knowing when to sort. Lack of math+sorting leads to the crap I deal with at my current company where the entire backend is python3 and they can’t handle more than 4 customers buying the product at a time when it runs on kubernetes... should scale automagically. However they should require more DB work in LC because how you interact with your DB changes a lot. Doesn’t matter if you use recursion... when you leave the damn connection pool open and shove all your queries into one connection. It’s gonna respond like shit.
That doesn’t sound like needing a good math skill. Just a normal person with common sense. Good choice of language and design. Also prevent people with questionable work ethics
Because yeetcode is fucking degrading, even more so than the "how many bananas can you squeeze in an Airbus you fucking code monkey" type of questions that used to be so popular. Take homes are much more preferable, do not force dumping precious hours into solving literal crossword puzzles aside from work to prepare for and actually give insight on how a candidate thinks.
Because of leetcode few companies are looking into your experience. They are interested in knowing more about you and work.. Most of time you go for interview, interviewer will start with leetcode question...
With onsite passing rate at under 15%, how can you ever get a job? If takehome passing rate is say 25%, you gotta do 4*7=21 assignments. Add that each takes a week. That is over 140 days possibly with no weekends, no social, no sickness, no time to care the kids or dating. Do you really want this to be norm? I know many software engineers don’t have life but this is extreme.
One is efficient (the time you learn LC is a fixed cost, but applies to multiple interviews) the other one, not so much. Each company means one more assignment, which takes a long time to do.
Horse poopy. Unless your job is specific languages you can totally reuse code from assessment to assessment. I completed three different assessments with partial code in each one. First one I did from scratch while I refused 90% of the code in assessment number 2 and only 35% in assessment number 3. The last one was stuff I’d never done before.
As someone that has worked at both types of companies, I agree with the OP here. IMO he’s right; it indicates that the hiring company is writing inefficient software. My experience has indicated that. If you don’t want to work on laggy shit, might want to look for interview processes that are strenuous. I also agree that the algo stuff is rarely needed in the workplace. But so what, if you want workplace priorities to be set on efficiency
Depends on the job. If you’re just a code monkey then yeah... LC. If you’re an engineer though... I’d expect best practices, standards, implementation from a-z, careful planning, deployment and rollout plans, intelligent algorithms, explanations for why you chose the language you chose, of course unit test but also some functional. Basically I want to see a mini product come and alive and truly, I’d ask candidates to POC some shiz if it were me. There would be nothing out there to copy, or at least the candidate would have to get creative to find the answer and creativity is as important as pure algo prowess... maybe even more. I prefer projects because it shows me the level of responsibility the companY expects or at least willing for me to carry. With LC, you can expect to do nothing but write code and sit at your desk unless you make a friend and can go play ping pong half the day. YA WANNA KNOW WHAT COMES AFTER THE PROJECT? The on-site, which almost always leads to answers. Ya wanna know what comes after LC... more LC. The only real benefit I can see is free vacations
To the people claiming take home is better: With onsite passing rate at under 15%, how can you ever get a job? If takehome passing rate is say 25%, you gotta do 4*7=21 assignments. Add that each takes a week. That is over 140 days possibly with no weekends, no social, no sickness, no time to care the kids or dating. Do you really want this to be norm? I know many software engineers don’t have life but this is extreme.
All my take homes took less than 3 days total, 2-4 hours a day with exploration and training. Lol Anyone spending a full week needs to give up
A week long assignment is clearly an exaggerated example. The company wants to review a week worth of your code just as little as you want to write it. My take home assignment was three days max and if it took me longer than that.. it’s a pass. OP just exaggerating because he loves his LC and probably spent thousands of hours doing it.
I prefer a take home over leetcode any day, leetcode is a measure of intelligence and curiosity and knowledge application. Take homes can measure the same things but with an added measure for resourcefulness and originality when a person is in their comfort zone as opposed to being judged to every keystroke
Firstly, I haven't seen any take home assignment with timeline of a week! Maximum 3 days maybe and you should be able to do it in maximum of 6-8 hours and yeah you can do the math for per day effort as you feel like. In my experience everytime I have had a take-home assignment, it has taken not more that 4-5 hours and once you are shortlisted the interviewer usually asks you to do an extension in front of him. They test you for how extendable your code is and how scalable your design was for a small simple problem. No way solving problem on leetcode can test that! At an Enterprise level, problem solving is necessary yes but more than that if you are a collaborative contributed/coder. Some people are absolutely brilliant when it comes to design business solutions but not so great with lc/cf. Plus scaling your application to more than 100 users is not related to you writing just efficient code. It's also writing smart code and things like design and workflow modeling that play a big big role!
The problem is they wouldn’t hire you just because you did a great job at take home. If they want to invite 1 out of 5 to onsite and if onsite passing rate is 25%, it means the overall passing rate is 5%. What that means is you gotta do this for 20 times to get an offer. Multiply that to 4-5 hours. You may claim good people will pass it mostly. But then someone at onsite may pick on something about you (eg the way you speak). So you gotta do that for multiple companies still. Do that for every job search...
They wouldn't hire you even if you did a great job at lc. They would ask all the questions that would have been tested in take-home during their f2f . And trust me questions to test your design and code extendability and other stuff... - there is far less probability you'll clear such things in f2f . You don't have anything as a proof of concept to prove your point, plus everything is abstract you are just talking and maybe you aren't that good an orator to explain your thoughts and let's not forget time, 1 hour compared to 3 days - done screwed . Lc questions have right and wrong ways to be solved and nothing creative or personal around it. Half the code people write is using their own lingo, variables and what not, which makes the reviewer not go through the code but just see whether the person passed the test cases. So basically just testing could he solve it. I would rather do some of that in f2f . Lc questions have definite answer, they can mathematically prove and what not. But if I want to see how he actually does work I don't think lc alone does justice. And. The factors at play in f2f are stacked more against real life or design or other question. If the probability of you clearing an onsite round is 25%, discussing questions of the nature that could be tested in take-home would be 5% as there are five more factors that play more strongly to such questions( conflict in opinion, past experience of interviewer, candidates orator skills, proof that your solution would actually fly, TIME in hand). So yeah you might clear far more lc rounds and get an onsite but the probability reduction in onsite will still make you do this for 20 times to get an offer. No substitute for the hard work eh? ;) I would rather have a person come through this than someone whom I can't pair code or collaborate with. For a person fresh out of college maybe lc still the better way but anyone over 1.5-2 yoe I would prefer to have take home also! Lc could be a part of it but definitely would not move ahead with just lc based shortlisting. Lc only - is definitely the legacy way of selection and I have seen such shitty people game it and pass through it. They are neither genuinely good at code and neither problem solving.
take home assignment is much closer to real work than leet code. the way we've been doing coding questions for so long is ridiculous and I'm glad to hear more companies are exploring alternatives
After 1 week they forget that you were in interview pipeline since they hired some dude within 1 day. So you wasted 1 week over that crap project. Same thing happens to you with 10 such companies.
With onsite passing rate at under 15%, how can you ever get a job? If takehome passing rate is say 25%, you gotta do 4*7=21 assignments. Add that each takes a week. That is over 140 days possibly without weekends, no social, no sickness, no time to care the kids or dating. Do you really want this to be norm? I know many software engineers don’t have life but this is extreme.