A list of resources for our society members who have upcoming interviews! This repo should serve as a great place to recap some data science knowledge as well as test yourself.
Data science interviews aren't easy. Companies are often looking for people with a large array of skills from programming (namely Python and SQL) to machine learning and statistics/probability. The Data Science Society is committed to helping you achieve that dream job in this amazing and rapidly growing field. Our committee members have been through this interview process many times and so we decided to collect all our resources together in one place.
This repo is broken down into 4 main sections:
Arguably the most important skill of a modern day data scientist is the ability to code. In line with our Lecture Series in Python, here are some revision resources:
- Python Crash Course Cheatsheets
- Basic Python knowledge condensed down into downloadable documents
- LearnXinYMinutes - Python3
- One page Python knowledge from variables to classes and wrapper functions
- Leetcode
- Try some problem questions (recommended to start with Easy level problems)
We're looking to find cool insights in our data but this is only possible if we know how to data wrangle properly using Pandas, the Python library:
- Pandas Revision
- A series of short notebooks providing an overview of the library
- Pandas Lecture Series - Data School
- Learning via videos instead of reading notebooks
- Pandas Questions & Exercises
- List of (very) short projects/questions to test your Pandas knowledge
Often in industry, data is not stored in fancy looking .csv
files, but instead in databases such as MySQL, PostgreSQL etc. - Some companies may require you to know how to extract the data you need from these systems using SQL (a language for databases).
- Mode Tutorial
- Excellent step by step guide to the different functions and operators available in SQL
Limited resources are provided on this topic as it is often only asked in interview if it is written on your CV.
This section contains resources for functional probability and statistics revision. Here you WON'T find rigorous proofs or derivations, but rather more useful stuff for industry.
- Basics of Probability for Data Science
- Random Variables, Distributions and Z-Scores
- Massive Probability Cheatsheet - William Chen
- A HUGE cheatsheet for probability, probably best to skim through this one
- DS Medium Series - Incl. Bayesian Statistics
- Mini-series of blog posts about probability and statistics in data science. A very useful article on Bayesian Statistics included.
Covering Supervised and Unsupervised Learning resources. This section is the differentiator in many interviews between candidates who are just aware of the models and those who understand under the hood what is happening.
Links to the libraries we are most concerned with in this machine learning section. Majority of these resources will be using one or more of these libraries in their revision.
- scikit-learn Introduction Tutorial
- The bread and butter of machine learning
- Tensorflow / PyTorch
- Biggest divide since pineapple on pizza
- COMPLETE ML RESOURCE
- The "documents" linked in this resource are great for all round machine learning knowledge, from Regression and Regularisation to CNNs and RNNs. Highly recommended.
- 41 Questions if you know your stuff
- If you're confident with everything you've seen so far, try out some questions
- One (massive) Page Resource
- Pretty good resource in general, more mathematical than the previous resource but great to scroll through if you have some time.
- Data School 15 hours of videos
- Prefer to learn by watching? (Just like panopto...) check some of these videos out
- Boosting vs Bagging - What's the difference?
- Bias vs Variance - Tradeoff war
- Dimensionality Reduction - Extracting the important stuff from your features
Congratulations! You've made it this far in the resources and hopefully you have some great machine learning knowledge. Unfortunately, that isn't always enough...
Companies are looking for great communicators and people they actually want to work with. Here's some general interview tips:
- Dress for the part
- What to wear on the day? Message the recruiter and ask specifically. Nothing worse than turning up casual to an office full of ties.
- Not sure about an answer?
- We've all been there where we don't know the answer or had a complete mind blank. The best thing to do is speak through your thought process, don't sit there in silence expecting them to read your mind. Remember, they are looking for people they can also teach, not just the baseline knowledge for the job.
- Smile :)
- You'll feel relaxed, the interviewer will feel relaxed, everyone will be relaxed. Happy days (literally).
- Interviews are two way
- We've all been told before "interviews are two way, both parties want to see if they're a good fit for each other". This could not be more true. Curious about parts of the company/job? Ask the question." It shows you have a genuine interest for the company/role and is warmly welcomed.
- Preparation is key
- Confidence in interviews comes from the fact that you know you are prepared. Have you put in the hours to learning and understanding everything you speak about? If so, nothing to worry about. You will feel confident and hopefully will convey that to the person interviewing.
- Do not let failure hold you back
- Not everyone has perfect interviews. You may have a rough day, or a set of tough interviews/questions. Push them out of your mind. Interviewing for jobs is a marathon not a sprint, there will be other opportunities available if you put yourself out there.
We wish you all the best in your future careers. Good Luck!
ICDSS