I was asked how to get back into working in technology. While I haven’t had my first official job yet, I have been getting ready to apply for three years while I have been in school. They asked about knowing data structures and algorithms and these are the thoughts I had:
For whiteboarding interviews, they are kind of necessary to know. There are resources on how to prep for technical interviews. I recommend www.pramp.com which gives a free practice technical interview to see where your strengths are and what you could improve on.
In my personal experience so far, I have been networking a lot on Twitter and in my town, going to meetups and talking to people hosting them about jobs at their company. A lot of jobs are not posted on job boards and finding the job you like is usually done by word of mouth and or talking to people. A lot of “who you know” can come really handy in your position. If you started attending meetups regularly and talking to people and asking questions, you will be able to get a feel for what jobs are requiring what.
Fundamentals of Java and basic algorithms like LinkedList, B-tree, Bubble sort, Stack, Queue, Hash Tables, are all really helpful to know. Being able to explain them are very useful.
For practicing coding challenges to level up your skills, codegym.cc, leetcode (good for algorithms), codewars, and hyperskill.org are all really good ones for java.
Having projects that you are proud of on your resume (2 is good for a resume), being able to explain what you did, what your challenges were, how you overcame them, and what you would do differently in future revisions are important. Making a demo of them and putting it on your github in the readme is awesome. Having a good readme is important so they can look and see what your project is about. I put hyperlinks right into my resume so they are able to click them from a pdf. You can find the template for a good readme here: https://gist.github.com/PurpleBooth/109311bb0361f32d87a2.So I know that was a lot of info so I will make it a shorter list:
- Network with people online and Twitter and have conversations about their company to find out about jobs and what the requirements are. The more people you can talk to, the better.
- Go to meetups and present a talk. There are so many things to talk about. Like a specific Java component and all the different ways to implement it.
- CodeWars, LeetCode, Codegym.cc, and HyperSkill.org are good resources for furthering your skills and algorithms.
- Showcase your best work by putting the projects on your resume, have a good readme, and a demo of your project along with what you did, why you did it, what your challenges were, and what you would do differently.
- Practice technical interviews on www.pramp.com. Even asking on Twitter if someone would be wiling to do a practice tech interview could help get feedback. Pramp does unlimited tech interviews. They do data structures and algorithms, system design, frontend, data science, and product management interviews. So practice practice practice and see where you are in terms of interviewing.
- Have a well written resume. There are lots of resources on PowerToFly.com about how to write a good resume.