I'm considering starting a new job hunt, but I'm out of practice. Unlike most folks, I still haven't gotten into competitive companies after doing ~250 or so problems (perhaps because of my aforementioned IQ leading to an inability to problem solve), and I'm not interested in companies that do alternatives to coding interviews as they generally pay significantly worse than what I'm expecting, but whenever I do Leetcode problems I frequently dive into the depths of depression and self-harm because I often can't do Medium problems. I've done CTCI, but that isn't as effective in the market now.I'm genuinely concerned I might harm myself further if I attempt more study, but at the same time, I need to fix my compensation trajectory or else I'll be in the same boat later. What do you use to avoid this?
[+] [-] f2000|5 years ago|reply
[+] [-] noema|5 years ago|reply
It often goes unmentioned that these interviews test the wrong skills for software development and even instill bad practices. To wit, those artificially handicapped online IDEs force you to memorize language APIs which any real IDE would handle for you -- forget that the JS lowercase string call is "toLowerCase"? Too bad. Also, since time is of the essence, and no debugging tools are provided, you better be using an interpreted language (read: JS and Python -- and really only the former unless you can import the correct libraries) and littering your code with print statements.
Other companies opt for the ostensibly fairer "take home CRUD app assignment" but this too is a facade to lend credence to a preselected candidate pool. No matter how well you complete the assignment with all enterprise grade best practices, you'll still playing the lottery (and this time with a five hour time sink).
Bottom line is don't interpret a lack of success in this draconian system to a personal defect. Ideally, seek employers who assess candidates fairly and qualitatively.
[+] [-] _alex_|5 years ago|reply
[+] [-] spiffyman|5 years ago|reply
I'm all for the message of "get help if you need it," and it sounds like OP needs the help of a professional, so I upvoted your comment. But minimizing the triggering event is not helpful; the things you see as trivial or unimportant might be insurmountable or critical to someone else.
[+] [-] lowiqengineer|5 years ago|reply
It's tough, it's like I feel attacked by the fact that I can't solve these in 5 minutes like the other folks I see on Linkedin.
[+] [-] ud0|5 years ago|reply
- Create a study curriculum.
- Each topic in the study curriculum should contain both reading & practice material.
- The reading material tells you about the data structure or algorithm and practice lets your reinforce what you just read.
- Spread this over a long period of time say 6 months.
- Practice everyday, I cannot emphasise this enough.
- Limit to about 2-3 hours a day.
- Give mock job interviews weekly or bi-weekly. See https://www.pramp.com
- Be kind to yourself these questions are hard on purpose.
You will notice a gradual improvement in your problem solving skill and general knowledge about the problem space. You might even begin to enjoy it (that's what happened to me). Diving blindly into just solving problems is a poor strategy. The key is balancing reading & understanding the data structure or algorithm with solving actual problems.
[+] [-] duggable|5 years ago|reply
[+] [-] xo-xor|5 years ago|reply
As someone who has struggled seriously with self-harm in the past, this is not just a regrettable by-product of coding problems; this is a significant attempt by you/your body to regulate an environment that feels out of control, to cope with overwhelm, to distract yourself from facing something else—-ymmv, but until you work on understanding what triggers this (just coding? Other things too?), and develop tools for dealing with situations that provoke these intense feelings, this problem will re-occur in one form or another. Essentially, it’s too soon for a focus statement like “get better at leetcode” because the problem statement hasn’t been defined yet. That’s something you (and a therapist and/or workbook, online resource etc, if money is a challenge) can do together.
Now the good news: not only can you address this, but doing so will have amazing and unforeseeable benefits in more areas than just coding. This stuff never fully disappears, but I can now look at a passing thought to hurt myself as a “check engine light”—-it does not have power over me, it occurs seldom, and if it does, it means something needs addressing.
Best of luck.
[+] [-] sciencewolf|5 years ago|reply
250 sounds like a lot, but I'd also be curious how you do the problems, and why you're having issues.
Where are you getting stuck? Are you looking at the answers immediately? Or are you struggling through the problem, and only peeking at hints as much as is needed to make a breakthrough?
Do you think through and recognize the patterns (two pointer, greedy, dynamic, etc) that are needed to tackle the problem, or are you just jumping into code instantly?
What do you do when you get stuck? Do you confidently ask for help, knowing hints are part of the game?
How's your timing? Are you getting in a brute force solution and an optimized one?
Addressing these concerns will reveal where you need work, and then you can continue to get better without being too affected by your current state. Remember, no one was born knowing how to solve these problems, so you can always get better and reach your economic goals.
Small plug -- we created AlgoDaily (https://algodaily.com) to teach programming interview skills using a visual, patterns-based approach. The lessons on approaching the interview and how to prepare might be especially helpful.
[+] [-] strikelaserclaw|5 years ago|reply
[+] [-] curiousfiddler|5 years ago|reply
Observe your emotions - there may be a completely different solution to your problems.
[+] [-] ignorantguy|5 years ago|reply
[+] [-] dragonwriter|5 years ago|reply
If companies use it for hiring screens, it does, indirectly: work experience is the main thing you need to be a better engineer, and the more time you spend working instead of spinning your wheels trying to get hired...
[+] [-] Nginx487|5 years ago|reply
[+] [-] armitron|5 years ago|reply
Assuming you're not fresh out of college and have plenty of experience (and skills to go with it), find a job that doesn't put you through this dumb grinder. Odds are it'll be a job you'll actually enjoy doing.
[+] [-] davidajackson|5 years ago|reply
[+] [-] ornornor|5 years ago|reply
Maybe getting a lower salary is very well worth it if it lets you avoid the self harm and depression. SE salaries in general are pretty good so even if you’re in the lower end of the scale it’s decent. Not everyone can earn 300k total comp by working for the usual suspects, earning 80–100k if you don’t live in overpriced cities/countires is still a pretty good life.
[+] [-] lowiqengineer|5 years ago|reply
[+] [-] strikelaserclaw|5 years ago|reply
[+] [-] neofrommatrix|5 years ago|reply
That covers a lot of patterns you can typically use to solve a problem. Keep practicing and don’t lose heart. Use mock interviews to get valuable feedback. You can do it.
[+] [-] djdjdjd|5 years ago|reply
I failed the first phone interview because I was absolutely unable to guess what he was looking for.
2 years later again 2,5 month preparing for it. This time also large system design. I make it to inside. I still not in.
It is emotional stressful. That's how it is.
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] mraza007|5 years ago|reply
[+] [-] lowiqengineer|5 years ago|reply
[+] [-] runawaybottle|5 years ago|reply
[+] [-] random314|5 years ago|reply
[+] [-] lowiqengineer|5 years ago|reply
I don't think it's so much the high pay as much as it is that my peers look down on me because of the FANG I work at. I've practiced for years already (to fairly mediocre results).
[+] [-] haihaibye|5 years ago|reply
If it helps, maybe move somewhere with a better wage to cost of living ratio.
[+] [-] unknown|5 years ago|reply
[deleted]