Re: 有人整理过FB的面试题么 - 未名空间(mitbbs.com)


Re: 有人整理过FB的面试题么 - 未名空间(mitbbs.com)

glassdoor
===================
edit distance

level traverse tree(高频)

1) Calculate the square root of a double(高频)

2) Given n intervals [si, fi], find the maximum number of overlapping
intervals.

3) Print all the paths from root to every leaf in a binary tree.

4) Print the sum of all the numbers at every vertical level in a binary tree

5) Given a set of n jobs with [start time, end time, cost] find a subset so
that no 2 jobs overlap and the cost is maximum ?

6) Given 1 trillion messages on fb and each message has at max 10 words, how
do you build the index table and how many machines do you need on the
cluster to store the index table ?
total data = 1 trillion * 10 words * 6 bytes / word = 60TB = one small
NetApp box
index by hashed userid ; will distribute traffic effectively across servers
; cache active users recent messages in memory

mapreduce

return the value of a roman number given in a string

Given two string representations of binary numbers (e.g. "1001", "10") write
a function that adds them and returns the result as a string as well (e.g.
"1011").

a) first, write a function to calculate the hamming distance between two
binary numbers
(b) write a function that takes a list of binary numbers and returns the sum
of the hamming distances for each pair
O(n) solution is recore each position how many 1 and how many 0, and
multiply them for each position and add together

combination(高频)
permutation , the k-th permutation

You are given a string with each english character translated to its
alphabetical position (e.g., the string "ABC" --> "123"). Provide a function
that, when provided the string as an argument, will return the maximum
number of strings the encoded string could represent (for example, "123"
could represent "ABC", "LC", or "AW").
kind of like DFS

Database design

FB Check In services

Getting maximum and minimun number was not difficult but getting less than n
comparison was tricky
sorted? bucket? radix?

BFS

strstr()


The second problem was another classic DP problem. Finding the sum of 1's in
a submatrix. I went on to describe the recurring relation for the
subproblem in the linear case. She didn't want me to do that and she quickly
said the solution to the 2D case was a generalization of the 1D case.
seems is find the max sum submatrix, time O(n^3), space O(n^2) 2D version of
Kadane's

a palindrome for strings with symbols and spaces in them

finding all the anagrams in an array of strings

finding the number of ways a given score could be reached for a game with 3
different ways of scoring (e.g. 3, 5 and 10 points). aka leetcode Climbing
Stairs

printing a binary tree L-R, (from left to right?? level traversal?

and implementing a comparator function to sort files based on a certain
naming convention.

regular_expression_match

graph traversal

Implement a LRU cache in C++.

Given a binary search tree, write an algorithm to find the kth smallest
element
inorder seach

binary search on a shifted array, find the offset (2) in log n
find the beginning of the array, if (right - left  <= 1) then return min(
left,right);

design newsfeed

write a json beautify

Given a vector of Nodes, each of which contain the start and end time of a
meeting, find the maximum number of rooms one would have to book for the day
.
seems is the max overlap: 1) sort based on start time 2) scan meeting one by
one, insert new meeting, and then scan the meetings in linked list, if they
stil valid for the new start time, then max++, otherwise clear them out
time should be O(n^2)

How would you query for all the Places near a given coordinate? The focus is
on how to scale this to a large number of places while keeping response
time to within acceptable user expectacions. 

finding anagrams in a string.

Reverse a linked list

Identify if the words in a given sentence are in a built in dictionary.
===============================================



mitbbs
============
bubble sort
leetcode 电话号码
When will java destruct object. (automatic garbage collection for
unused object that no reference points to it, finalize() method is called
weh it decide to collect it)
8.    Java stuff: how to avoid other programmer from changing the function.
(Final keyword)
What is the transient keyword.(indicate that a field should not be
serialized.aka not persisted )
How to use stacks to simulate queue(two stacks)
lowest common ancestor(cc150 P233)
Given a linked list, say A->B->C, print it in reversed order. Time &
space analysis. What if I want the original list not changed?(recursion) How
about
multithreads call this functions simultaneously?(seems ok?)
怎么判断两个linkedlist meet(make the first linkedlist tail point to the head
of the second linkedlist, then become the find cycle problem, if just 判断
then loop two list then if the last element is the same then it will meet.)
有个矩阵,里面都是0和1,找最大的cluster,相邻或对角(BFS, search 1, then BFS
it, market visited point to #, get the areas, at the end revert # to 1)
longest increasing subsequence:

revert linkedlist(recussion and non-recussion)
leetcode sort color
两个list相加,优化代码
regular expression
given an array, find out the max sum of a set that each elements are non-
: ajacent.动态规划很简单,刚开始用了数组来存,发现两个变量滚动赋值就可以了
设计题,地图搜索,怎样设计index

Read full article from Re: 有人整理过FB的面试题么 - 未名空间(mitbbs.com)

Labels

LeetCode (1432) GeeksforGeeks (1122) LeetCode - Review (1067) Review (882) Algorithm (668) to-do (609) Classic Algorithm (270) Google Interview (237) Classic Interview (222) Dynamic Programming (220) DP (186) Bit Algorithms (145) POJ (141) Math (137) Tree (132) LeetCode - Phone (129) EPI (122) Cracking Coding Interview (119) DFS (115) Difficult Algorithm (115) Lintcode (115) Different Solutions (110) Smart Algorithm (104) Binary Search (96) BFS (91) HackerRank (90) Binary Tree (86) Hard (79) Two Pointers (78) Stack (76) Company-Facebook (75) BST (72) Graph Algorithm (72) Time Complexity (69) Greedy Algorithm (68) Interval (63) Company - Google (62) Geometry Algorithm (61) Interview Corner (61) LeetCode - Extended (61) Union-Find (60) Trie (58) Advanced Data Structure (56) List (56) Priority Queue (53) Codility (52) ComProGuide (50) LeetCode Hard (50) Matrix (50) Bisection (48) Segment Tree (48) Sliding Window (48) USACO (46) Space Optimization (45) Company-Airbnb (41) Greedy (41) Mathematical Algorithm (41) Tree - Post-Order (41) ACM-ICPC (40) Algorithm Interview (40) Data Structure Design (40) Graph (40) Backtracking (39) Data Structure (39) Jobdu (39) Random (39) Codeforces (38) Knapsack (38) LeetCode - DP (38) Recursive Algorithm (38) String Algorithm (38) TopCoder (38) Sort (37) Introduction to Algorithms (36) Pre-Sort (36) Beauty of Programming (35) Must Known (34) Binary Search Tree (33) Follow Up (33) prismoskills (33) Palindrome (32) Permutation (31) Array (30) Google Code Jam (30) HDU (30) Array O(N) (29) Logic Thinking (29) Monotonic Stack (29) Puzzles (29) Code - Detail (27) Company-Zenefits (27) Microsoft 100 - July (27) Queue (27) Binary Indexed Trees (26) TreeMap (26) to-do-must (26) 1point3acres (25) GeeksQuiz (25) Merge Sort (25) Reverse Thinking (25) hihocoder (25) Company - LinkedIn (24) Hash (24) High Frequency (24) Summary (24) Divide and Conquer (23) Proof (23) Game Theory (22) Topological Sort (22) Lintcode - Review (21) Tree - Modification (21) Algorithm Game (20) CareerCup (20) Company - Twitter (20) DFS + Review (20) DP - Relation (20) Brain Teaser (19) DP - Tree (19) Left and Right Array (19) O(N) (19) Sweep Line (19) UVA (19) DP - Bit Masking (18) LeetCode - Thinking (18) KMP (17) LeetCode - TODO (17) Probabilities (17) Simulation (17) String Search (17) Codercareer (16) Company-Uber (16) Iterator (16) Number (16) O(1) Space (16) Shortest Path (16) itint5 (16) DFS+Cache (15) Dijkstra (15) Euclidean GCD (15) Heap (15) LeetCode - Hard (15) Majority (15) Number Theory (15) Rolling Hash (15) Tree Traversal (15) Brute Force (14) Bucket Sort (14) DP - Knapsack (14) DP - Probability (14) Difficult (14) Fast Power Algorithm (14) Pattern (14) Prefix Sum (14) TreeSet (14) Algorithm Videos (13) Amazon Interview (13) Basic Algorithm (13) Codechef (13) Combination (13) Computational Geometry (13) DP - Digit (13) LCA (13) LeetCode - DFS (13) Linked List (13) Long Increasing Sequence(LIS) (13) Math-Divisible (13) Reservoir Sampling (13) mitbbs (13) Algorithm - How To (12) Company - Microsoft (12) DP - Interval (12) DP - Multiple Relation (12) DP - Relation Optimization (12) LeetCode - Classic (12) Level Order Traversal (12) Prime (12) Pruning (12) Reconstruct Tree (12) Thinking (12) X Sum (12) AOJ (11) Bit Mask (11) Company-Snapchat (11) DP - Space Optimization (11) Dequeue (11) Graph DFS (11) MinMax (11) Miscs (11) Princeton (11) Quick Sort (11) Stack - Tree (11) 尺取法 (11) 挑战程序设计竞赛 (11) Coin Change (10) DFS+Backtracking (10) Facebook Hacker Cup (10) Fast Slow Pointers (10) HackerRank Easy (10) Interval Tree (10) Limited Range (10) Matrix - Traverse (10) Monotone Queue (10) SPOJ (10) Starting Point (10) States (10) Stock (10) Theory (10) Tutorialhorizon (10) Kadane - Extended (9) Mathblog (9) Max-Min Flow (9) Maze (9) Median (9) O(32N) (9) Quick Select (9) Stack Overflow (9) System Design (9) Tree - Conversion (9) Use XOR (9) Book Notes (8) Company-Amazon (8) DFS+BFS (8) DP - States (8) Expression (8) Longest Common Subsequence(LCS) (8) One Pass (8) Quadtrees (8) Traversal Once (8) Trie - Suffix (8) 穷竭搜索 (8) Algorithm Problem List (7) All Sub (7) Catalan Number (7) Cycle (7) DP - Cases (7) Facebook Interview (7) Fibonacci Numbers (7) Flood fill (7) Game Nim (7) Graph BFS (7) HackerRank Difficult (7) Hackerearth (7) Inversion (7) Kadane’s Algorithm (7) Manacher (7) Morris Traversal (7) Multiple Data Structures (7) Normalized Key (7) O(XN) (7) Radix Sort (7) Recursion (7) Sampling (7) Suffix Array (7) Tech-Queries (7) Tree - Serialization (7) Tree DP (7) Trie - Bit (7) 蓝桥杯 (7) Algorithm - Brain Teaser (6) BFS - Priority Queue (6) BFS - Unusual (6) Classic Data Structure Impl (6) DP - 2D (6) DP - Monotone Queue (6) DP - Unusual (6) DP-Space Optimization (6) Dutch Flag (6) How To (6) Interviewstreet (6) Knapsack - MultiplePack (6) Local MinMax (6) MST (6) Minimum Spanning Tree (6) Number - Reach (6) Parentheses (6) Pre-Sum (6) Probability (6) Programming Pearls (6) Rabin-Karp (6) Reverse (6) Scan from right (6) Schedule (6) Stream (6) Subset Sum (6) TSP (6) Xpost (6) n00tc0d3r (6) reddit (6) AI (5) Abbreviation (5) Anagram (5) Art Of Programming-July (5) Assumption (5) Bellman Ford (5) Big Data (5) Code - Solid (5) Code Kata (5) Codility-lessons (5) Coding (5) Company - WMware (5) Convex Hull (5) Crazyforcode (5) DFS - Multiple (5) DFS+DP (5) DP - Multi-Dimension (5) DP-Multiple Relation (5) Eulerian Cycle (5) Graph - Unusual (5) Graph Cycle (5) Hash Strategy (5) Immutability (5) Java (5) LogN (5) Manhattan Distance (5) Matrix Chain Multiplication (5) N Queens (5) Pre-Sort: Index (5) Quick Partition (5) Quora (5) Randomized Algorithms (5) Resources (5) Robot (5) SPFA(Shortest Path Faster Algorithm) (5) Shuffle (5) Sieve of Eratosthenes (5) Strongly Connected Components (5) Subarray Sum (5) Sudoku (5) Suffix Tree (5) Swap (5) Threaded (5) Tree - Creation (5) Warshall Floyd (5) Word Search (5) jiuzhang (5)

Popular Posts