Coding Techniques and Programming Practices: [From MITBBS] Facebook and Google Interview Questions



Coding Techniques and Programming Practices: [From MITBBS] Facebook and Google Interview Questions

Phone:
Input: Given a matrix of 0, there are some areas populated with 1, 2, 3s.
Output: Map<int, numOfRegions>

Onsite:
Round 1: cultural, project deep dive, things that can be done better
Round 2: Calculator, implement a function to output the current display 
based on the inputs that is already typed.
Round 3: Word Ladder II in Leetcode
Round 4: Design facebook event notification system (push on mobile app, and 
pull on web), discuss storage/api, how to generate events, prefer to use 
periodical job to scan incoming events and generate messages accordingly
Round 5: Culture fit, strength, how to deal with disputes among colleagues, 
reverse linked list in pairs

Google:
1. Given a robot and a maze, the robot supports these apis:
Turn left, move forward, checkIsExit
Write a program to make it move to the exit

2. Design Youtube access control system, storage, scales

3. Suppose there are k threads, write a multi-thread program to make them 
come to deadlock, I use semaphore at first, then was asked to implement it 
with countDownLatch

4. RunLength encoding, discuss various ways to minimize the encoded string 
under different constraints

5. Design a system to generate Ids for distributed DBs, discuss various 
Zookeeper patterns (leader elections etc).
For a given number, how to return minimum number of squares that sums up to 
this number

Read full article from Coding Techniques and Programming Practices: [From MITBBS] Facebook and Google Interview Questions


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts