Before you have your first satisfactory offer, you
should target more companies with several
positions. Be ready to submit A LOT of resumes
and have an interview marathon.
In my case
◍Location: big cities where I can build
◍Position: Data related position is my
favorite. But I have also submitted for some
system engineer positions
◍Industry: tech company with stable growth
Concise and quantified, one page preferred, please don’t have more
than two pages
◍Quantified the result
◍Use bullet items
◍Put the most important thing first
◍Use bold font when necessary
◍If you have a technical blog or a github for
your project, attach it.
◍Don’t have any typos!!!
◍Use a template(ex: sharetex)
◍Ask someone with industrial experience
(recruiting experience even better) to check
◍Your resume should demonstrate why you
are a fit for the position(at least one project
demonstrating your ability)
◍Customize your resume for different
◍Make your Github/LinkedIn look nice.
◍Blogging is a good way to demonstrate
ReferringDon’t be shy to reach out someone you know or don’t know
on LinkedIn / social network, it enhances the chance you
resume gets read through.
And yes, you should try to meet people and build
connections in your industry
AgencyWork in Japan(you have to a logic and personality test)
Top Career(coding test before interview)
I know it sounds scary, but all you need is to prepare early
Practice makes perfect
◍You should start practicing it at least six
months earlier, especially if you don’t have
competitive programming training
◍Pick a major language(for data science
position, I recommend python), and stick
◍If you forget all the data structure and
algorithms, review them first.
◍Time yourself when practicing
◍Get enough sleep, water and food before
Practice makes perfect
◍ 1. quickly review important data structure and
algorithms and code
◍ 2. practice the easy and medium difficulty
questions in “the Clean Code Handbook” by
leetcode(don't memorize the solution, only
check it if you couldn't solve it)
◍ 3. do the mock tests on leetcode or
◍ 4. If needed, put a “cheatsheet” besides your
Besides coding skills, your communication skills plays a big role, too
Pramp.com: a service pair
you up with peers
according to ability and
programming languge to
practive live coding
Clear Communication should be your number 1
◍ The question won’t be too difficult, but the
best solution won’t be too naïve, either.
◍ The interviewer is the one that’s going to
help you accomplish the goal. Don’t be afraid to
ask for help.
◍ It’s fine to come up with a brute force solution
first and then gradually optimize it.
◍ Speak out about what’s going on in your mind
◍ Discuss the high level idea with the
interviewer, write the sketch solution out in
comments before your code it out
The process of live coding interview
◍ Clarifying the Question
◍ Generating inputs and outputs
◍ Generating test edge case
◍ Runtime Analysis
◍ Debugging, Refactoring
◍ please watch the demo video at:
It’s normal that you don’t know about anything. Don’t freak out when
you don’t know the answer
Typical technical questions
◍ Tell me briefly about yourself (impress your
interviewer by talking about some interesting
project you are passionate about, the first ten
minutes is very important)
◍ Tell me about one of you project
◍ How would you make the project better now?
◍ What’s your favorite language? What is it
difference with xxx language?
◍ Draw the system diagram of your project .
◍ Anything you put on the resume(Please don’t
boast on your resume, it might make you look
Tips for Typical technical questions
◍ Go on Google / Quora / Glassdoor to see the
◍ Do mock interviews with your friends
◍ You should be able to have someone
understand your project’s/ thesis’ basic premise
in a short time to show your communication
There will be time when your brain is just blank
That’s okay, your interviewer doesn’t expect you to
know everything. You can just say that you don’t
know; Please don’t pretend that you know and give
weird answers. another option is to talk about relative
concepts, or to ask the interviewer to explain.
Show them you are a team player, and easy to get along with
Typical general questions
◍ Don’t ignore people when they try to small
talk with you, it’s rude. You should be a people
◍ Tell me about one of your failures.
◍ What’s the downside and upside of your
◍ Why do you want work for us?
◍ What impact do you plan to have in three
◍ What’s your career plan?
◍ What did you learn in ____ experience?
“Do you have a question for us?”
Question for the interviewer
◍ It’s a good chance to show your interest in the
position. Don’t ask some stuff you can easily
find on their official website
◍ What’s your guys plan in the next
◍ What’s the biggest difficulty you have faced
◍ What’s your general experience working
◍ Why do you guys decide to do ___ product.
◍ Discuss some current trends in using
◍ Bring your devices (phone, laptop) to show
products or slides of your project if it’s more
◍ If it’s a Skype interview, please always check
your Wi-Fi and microphone is working well
beforehand. And use screen share to demo!
◍ Don’t forget to smile and show interest in
what you interviewer is talking about.
◍ Interviewing is a communication process,
rather than a question answering process.
◍ It’s also your good chance to evaluate the
company and the technical strength of their
◍ If you got rejected, it doesn’t mean you suck.
It might because it’s not a good timing for you to
join or it’s not a good fit for you. (I got rejected
many times, too!)
◍ Having a support group is very important.
You can find me at email@example.com