Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
wiki:user:digital_man [2018/10/08 22:30] – [Why BBS?] Fixed typos digital man | wiki:user:digital_man [2019/10/31 20:03] – Things I learned while interviewing for programming jobs in 2019 digital man | ||
---|---|---|---|
Line 30: | Line 30: | ||
So in summary, I agree: BBSes can be made more accessible and user-friendly than they are today and support more mainstream use-cases than they do today. And maybe, probably, some of those enhancements will come to fruition in the near future. Perhaps //your// contributions will help drive the innovation you seek. But in the meantime, see if you can find the enjoyment and inspiration that we've found in the BBSes of today and rejoice in that! | So in summary, I agree: BBSes can be made more accessible and user-friendly than they are today and support more mainstream use-cases than they do today. And maybe, probably, some of those enhancements will come to fruition in the near future. Perhaps //your// contributions will help drive the innovation you seek. But in the meantime, see if you can find the enjoyment and inspiration that we've found in the BBSes of today and rejoice in that! | ||
+ | |||
+ | ===== Interviewing in 2019 ===== | ||
+ | |||
+ | Things I Learned Interviewing for Programming Jobs in 2019 - advice to myself or those living in similar shoes | ||
+ | |||
+ | 1. Buy and read “Cracking the Coding Interview”, | ||
+ | |||
+ | 2. If C is your primary programming language, learn/ | ||
+ | |||
+ | 3. Even though you may never use those academic/CS skills (big-O, data structures, algorithms) in your actual job, if it helps you to pass the interviews (and it often will), they’re worth learning. | ||
+ | |||
+ | 4. Use the free web resources for learning academic/CS skills and practicing them in an interview context. [[http:// | ||
+ | |||
+ | 5. “Reverse a linked-list” is the new “fizz buzz” question. Counting the number of set bits in an integer (or determining if it’s a power-of-2) is a close second. Flood-fill (and similar recursion) problems are also popular. If you can’t solve these problems, you’ll look bad. Practice these. | ||
+ | |||
+ | 6. Memorize the time and space complexity (big-O notation) of most common data structure operations and sorting algorithms. | ||
+ | |||
+ | 7. If you’re asked to write code on a whiteboard but blank-out on what to write, start by writing keywords from the problem description, | ||
+ | |||
+ | 8. Dynamic programming and recursion should not be the first solution you reach for to solve *most* problems, but don’t forget that you have them at your disposal. I saw a few Pramp (mock interview) partners solve relatively simple problems in absurdly complex ways because they (too) quickly determined that dynamic programming was the only or ideal solution when it was not. | ||
+ | |||
+ | 9. If the solution to the interview problem seems easy/ | ||
+ | |||
+ | 10. If you get asked to complete a “take-home” test, use all available resources to test/verify the code before submitting it (e.g. gcc -Wall, lint, coverity, valgrind, etc.). Beautify the code (e.g. with uncrustify or clang-format) before submitting it. Double and triple-check all the requirements and test cases. The code should be as clean and as perfect as you can make it. | ||
+ | |||
+ | 11. The more senior/ | ||
+ | |||
+ | * It can take several months for the critical mass of interested and able companies and offers to come to fruition. Don’t give up. Don’t stop preparing. Stay the course. Don’t get discouraged. | ||
+ | * There are 10 times the number of available positions for experienced/ | ||
+ | * Remember that no single engineer/ | ||
+ | |||
+ | 12. Apply “direct” first, then cast a wide net: | ||
+ | * Begin by applying directly to all the corporate sites of the companies you think could use your skills and whom you think you’d like to work for (old competitors, | ||
+ | * Next, search and apply to all the relevant positions on LinkedIn, Indeed, and Hired. Every. Day. Apply to [[http:// | ||
+ | * Let your friends and old co-workers know that you’re looking for your next opportunity, | ||
+ | * Reply to any old emails from company recruiters, even from years ago. That recruiter likely doesn’t work there any longer, but your email may go to their replacement or supervisor and get you an interview quicker than an online job-board application. | ||
+ | * Go ahead and sign up with all the headhunters (CyberCoders, | ||
+ | * Aim high in both the companies and the positions you’re applying for. | ||
+ | |||
+ | 13. Before any interview (phone or in person): | ||
+ | * Scrutinize the job description/ | ||
+ | * Study every page of the company’s web-site, learning all about their products or services, leadership, location, job board, etc. You may be surprised what you learn and you’ll be better prepared to talk about their problems and your solutions to them. | ||
+ | * If you have a list of interviewers, | ||
+ | |||
+ | 14. During interviews, pay close attention to the questions asked and the words used. These words are valuable clues as to what the next interviewer may ask you. Take notes (mental or physical) and research any weaknesses that have come to light between interviews. Learn from each interviewer how you can better answer questions from your next, even for the same job, on the same day! | ||
+ | |||
+ | I hope these tips may help you in landing your next " | ||
+ |