Upload
supasate-choochaisri
View
1.657
Download
2
Embed Size (px)
Citation preview
Thai Programmer Association
CodeEXP.
How to Get Hired By Top Tech CompaniesSupasate Choochaisri26 Jan 17 @ National Innovation Agency
/me
Supasate Choochaisri (Ping)
- Co-founder @ LarnGear Technology Co., Ltd. (2006 - 2017)
- Co-founder @ Streaming Co., Ltd. (2012 - 2017)
- President @ Thai Programmer Association (2016 - Current)
- Solutions Engineer @ Facebook (Since Apr 2017)
Disclaimer
Opinions are my own and not the views of my current and future employers.
Everything in this presentation is just a general guideline. Some information might not be applicable for some companies or some roles.
Top Tech Companies
My goal
Getting into a top tech company in US
- Started applying in Feb 2016
Lesson Learned:Before being called for interview
Lesson 1:Getting into US from Thailand is super hard!
To work for companies in US
Need Visa
- H-1B (Specialty Occupation) -- Need company sponsor + luck
- L-1 (Intracompany Transfer) -- Need time to work at branch
- E-1/E-2 (Treaty Trader/ Treaty Investor) -- Need money++
- F-1 (Student) 1 year after graduation -- Need time to study
Reference: http://www.internationalstudent.com/study_usa/graduation/visa-options/
Lesson 2:Applying through web sites is 'almost' useless
Black HoleJust an auto-response email after submitting a resume
No InterviewGot contact back but got declined to be interviewed
Applying through recruiting campaign
Uber Code on the Road : Hacker Challenge
Black Hole
Staff Engineer - Distributed systems software @ VMWare => Black Hole
Software Engineer @ Autodesk => Black Hole
Senior Software Developer @ IBM- StrongLoop => Black Hole
Software Engineer, Palo Alto @ HackerRank => Black Hole
Software Engineer - Evolved Network OS @ Cisco => Black Hole
2 Software Engineer positions @ Uber => Black Hole
Software Engineer @ Arista => Black Hole
Software Engineer, Product @ Twitter => Black Hole
No Interview
Software Engineer, Tools & Infrastructure @ Google, Zurich => No InterviewSoftware Engineer @ Google, Japan => No InterviewSoftware Engineer, Front End @ Google, NY => No InterviewStrategic Customer Engineer, Google Cloud Platform @ Google, SG => No InterviewSoftware Engineer @ Google, NY => No Interview3 Software Engineer positions @ Coursera => No Interview3 Engineering positions @ Slack => No InterviewFull Stack Engineer @ Udacity => No InterviewFull Stack Software Engineer - iTunes U @ Apple => No InterviewSoftware Engineer @ Quora => No InterviewSoftware Developer @ Khan Academy => No Interview
Lesson 3:Studying in US may be the easiest path
Student F-1 Visa
12 months after graduation for practical training
* Not sure with the future situation
Lesson 4:Referrals put your resume on top of stack
Lesson 5:Referrals do not guaranteeyour resume will be picked up
Lesson 6:Several ways to get chances(but not so easy)
Google Code Jam / Facebook Hacker Cup
Contributing to open source projects
Attending hackathon / competition events
Networking
Lesson 7:Timing is Crucial
Fiscal Year 2016 H-1B Cap
Regular Cap = 65,000
Master’s Exemption = 20,000
Start accepting petition on "1 April 2016"
Cap reached within 1 week
https://www.uscis.gov/news/news-releases/uscis-reaches-fy-2016-h-1b-cap
Timing
2 - 3 months interview period
Feb - March Sponsoring company prepare documents
1 Apr Sponsoring company issues H-1B petition
-------------------- Wait lottery result ---------------------------------
1 Oct Eligible start working date
Timing
2 - 3 months interview period => Oct - Jan is good timing to apply
Feb - March Sponsoring company prepare documents
1 Apr Sponsoring company issues H-1B petition
-------------------- Wait lottery result ---------------------------------
1 Oct Eligible start working date
Prepare for interviews
Typical interview rounds for top tech companies
Software Engineer role (SWE)
Round 1 Pre-screening interview with a recruiter
Round 2 On-line coding interview with an engineer
Round 2.5 (optional) On-line coding interview with an engineer
Round 3 - 7 (vary) On-site coding interviews + system design interviews
Site Reliability Engineer (SRE)
Coding interview
OS + Networking + Filesystem
Linux commands
Root cause analysis
(Technical) Solutions Engineer (Special case)
Round 1 Pre-screening interview with a recruiter
Round 2 On-line coding interview with a recruiter
Round 3 On-line coding interview with engineers
Round 4 On-line OS/Networking + coding + business interview with an engineer
Round 5 On-line Business + Communication interview
Round 6 On-line App Review interview
Behavioral Questions
Behavioral Questions
What is the hardest thing you've ever done?
What project are you most proud of?
What would you do if you weren't afraid?
Talking about your past experience
Test Culture fit / Googleyness
Coding interview(Technical interview)
Ref: careercup.com
Ref: careercup.com
System Design
System Design Questions
Design Gmail
Design Twitter
Design YouTube
Design a distributed logging system
Design an airline reservation system
Engineering Blogs
CS75 (Summer 2012) Lecture 9 Scalability Harvard Web Development David Malan
https://www.youtube.com/watch?v=-W9F__D3oY4
Business Interview
Business Interview
Technical depth and experience questions
Business acumen
Communication
Strategic thinking
Required skills?
1) English!!!
Need to speak with real people (recruiters, interviewers, etc.)
Need to listen to questions carefully with noisy microphone/unfamiliar accent
2) Basic Data Structures & AlgorithmsTime/Space Complexity (Big-O)*** Bit Manipulation Recursion*** String***
Array*** Linked List (Singly, Doubly, Circular)*** Hash Map***
Stack*** Queue*** Priority Queue Heap Tree Binary Tree Binary Search Tree
Tries AVL/Red-Black Tree Tree Traversal (Pre-order, in-order, post-order) DFS*** BFS***
Graph Shortest-path Connected Component Union-Find
Sorting Insertion Sort Merge Sort Quick Sort
Searching Binary Search*** Quick Select
Dynamic Programming*** Memoization***
*** = often found in leetcode.com
3) Communication
Need to explain what you think when solving problems
Need to make interviewers want to work with you!
How I prepare
Books
Books on Data Structures & Algorithms
Books on Interview Questions
Practice
leetcode.com
HackerRank.com
Whiteboard Programming!!!
Sport Programming
Facebook Hacker Cup
Google Code Jam
CodeForces
Mock Interview
Mock with Friends
Mock with Friends
pramp.com
pramp.com
5 Key Takeaways
1) Always aim high
2) No one is too old to learn
3) Passionate about what you do
4) Practice, practice, practice
5) Never Give Up!
Thank you
Q&A