Sunday, January 31, 2016

Linkedin Interview Part 3


reverse版本的nested integer
word distance

isomorphic str,没有followup。 想起地里之前有帖子说面试官说要twoway mapping, 说了两个map的解法,被吐槽空间复杂度太高。。。
search range.
http://www.1point3acres.com/bbs/thread-135904-1-1.html
1. Two sum III(leetcode)
2. bounded queue(consumer, producer )
还问了一些基本概念,virtual memeory, thread, process 区别等。

Phone interview2 :
1. merge two sorted inked list(从大到小)
2. 一个文件,有很多行string, 从里面提取所以valid的Ip address.
 (我当时用C++写的,有点麻烦,面试官最后给我看了,python代码,就两行,哎!)


Onsite Interview:
1. Talk with director.-
2. coding:
1. 给一个string, app[1,2].corp[3,4].com 要求返回:
app1.corp3.com, app2.corp3.com, app1.corp4.com, app2.corp4.com. 组合题变种。
2。给一个map, 里面是所有文件的dependency, 找出给定一个文件的所有dependency. 图的dfs遍历,
注意cycle的处理。没啥难的。

3. Lunch with Manager
4. Design: monitor systesm. 后半部分答的不好,和面试官不再一个频道上,估计挂了。
5. Technical communication.
6. coding: 1. print all factors of n(老题), 2.  Is valid BST(讨论了几种方法) (这轮也没啥难度)
http://www.1point3acres.com/bbs/thread-167542-1-1.html
1. implement singleton pattern,要注意constrctor是private
2. binary tree level order print,我用queue bfs做的,follow up是还有其他解法么,我说了可以用dfs
1. search a number in a 2-d array,行都是sorted的,每行第一个比前一行最后一个要大,转换成一维的array做 search就行了。面试官说size=row*column-1如果overflow怎么办,我说把int改成long就好了。

楼主遇到的是https://leetcode.com/problems/search-a-2d-matrix/,就按照一维数组做就好,坐标转换一下,就OK, O(1) Extra Space O(log(mn)) time

从右上角那个方法是对于https://leetcode.com/problems/search-a-2d-matrix-ii/
2. implement stack with pop(), push() and findmiddle() with O(1) time, 一开始我想用array做,面试官提醒resize的时候会有额外操作,就改用double linked list了。维护两个pointer,top和middle。follow up就是test case。
第二题用一个叫middle的pointer,findmiddle的时候就返回pointer,pop和push的时候要update middle的位置。
http://www.1point3acres.com/bbs/thread-166399-1-1.html
Blocking Bounded Queue
实现一个线程安全的put和get,这个之前看面经的时候练习过,不管怎么样写出来了 - - 
Follow up是 multi-put,这个没写出来,之后的30分钟都是在纠结Mutex和condition variable,因为不是非常理解C++多线程,所以应该会挂在这儿

http://www.1point3acres.com/bbs/thread-166389-1-1.html
然后问题是isomorphic string,先判断两个string,follow up是给一堆string, 按组输出isomorphic strings, 输出格式是List<List<String>>。小哥可能比较忙,中途离开了两次。。。
对,判断两个string的时候是true or false. Follow up是给一堆string,让分组输出

http://www.1point3acres.com/bbs/thread-145037-1-1.html
1. 两个华人。Design tiny URL 问了很多细节,最后居然问到了怎么配置memcache, 估计是不揭穿lz的画皮不甘心,不过相信他们是为了找我的亮点吧
2 两个华人
2.1 find range of a number in an array with possible duplicates, 我写的其实有bug, 但是小哥欣然放过,感谢。. from: 1point3acres.com/bbs 
2.2 find all palidrome string by deleting any letter from the given string. 这题比较难,我只做了dfs的bf解, 稍微加了个map trim branch一下。最优解在mitbbs有讨论,大家自己坐电梯去看
http://www.mitbbs.com/article/JobHunting/33053715_3.html-google 1point3acres
3. tech communication. 一华一印,被强烈bs. visit 1point3acres.com for more.
4. 一中一印 leetcode原题 most points on same line. 但是leetcode的斜率用float直接表示,这里被要求用更好方式表示,搞了个 横纵坐标的类,写gcd, 改hashcode, equals等吭哧半天。小中是一脸恨铁不成钢,不停提示我,恨不得上来帮我写,烙印是到处找茬,说你说lcd(lz没接受过正规cs教育, gcd说成lcd), 是不是还有led呢,blahblah。
http://www.1point3acres.com/bbs/thread-148200-1-1.html
1. Maximum Subarray,leetcode原题,基本的dp,应该很好写吧,也练过至少1次了。。然而lz我第一次真正意义上的技术电面,有点紧张,于是没有考虑数组为空的情况,被指出来,遂加上。。. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴
2. Maximum product Subarray,leetcode原题,又是基本的dp,也应该很好写吧,也练过至少1次了。。然而。。。我一开始说思路的时候又没100%对上点,大哥遂说,算了算了,你先写吧。。。一开始写发现之前说的哪有漏洞了,改之。。。惊心胆战中好歹完成了。。

ml:
问的非常多且杂但是都不精,先从binary classifier是啥到举例,到你最喜欢哪个算法,我说logistic regression,于是开始问你介绍一下呀,我扯到了logistic function,具体他怎么问的我忘记了,只记得我一直在说指数函数、0、1、0.5边界值之类的。。。再后来他说怎么训练参数,就扯到了MLE,cost funtion,gradient descent,他问梯度下降是什么呀,学习率什么含义啊,还有regularization,问regularization是啥,我因此扯到了防止overfitting,他借此又问overfitting是啥,怎么解决,我说完后,他借由这几种解决方法拓展到了cross validation和pca(feature selection),于是我又扯扯扯到了pca的定义,他顺便问了一句pca怎么知道取几个component,这个问题我不确定,回答说这是个“pecentage problem"吧?如果想要80%或90%,就取到这个程度好了。。。英文表达真心捉急。。

我面了树的level order和zigzag遍历,ml方面是问了决策树,entropy之类的,还有l1, l2 regularisation,还有简历上的一点东西

http://www.1point3acres.com/bbs/thread-157908-1-1.html
我根本没准备system的东西结果问了一堆问题看来是要跪。。我记得有虚拟内存,事务,进程和线程的区别,进程通信线程通信,答得很差
然后一道design的题。。。。实现一个容器能够randomremove和正常加和删。。。我傻傻用了三个hashmap小哥一步一步引导我走向正确答案不过前面答得太差了估计没戏了
。。。。我真的以为一面是水leetcode的节奏结果就这么跪了。。。。

http://www.1point3acres.com/bbs/thread-159875-1-1.html
一共两轮。。。第一轮是三哥三姐,很和蔼,出的题也不难,一个是带字符的valid 括号,另一个是isomofic string,follow up 是3 个的情况。感觉他们都还蛮开心的,最后问问题,他们也很开心的回答了。。题目都是秒过,然后针对test case 解释了挺长时间。。英语渣~没办法。
第二轮 下午刚面完,一个是merge array,intersecion of two array, 果断秒过,小插曲:以为说的linkedlist,所以把merge linkedlist也写了一遍。。第二题是longest palindromic string (题目说的 subsequence),但是我想成substring了。。 不过事实证明面试官不在乎,你做出来了,并且表达清楚应该就没问题。


No comments:

Post a Comment

Labels

GeeksforGeeks (976) Algorithm (811) LeetCode (652) to-do (599) Review (360) Classic Algorithm (334) Classic Interview (298) Dynamic Programming (263) Google Interview (233) LeetCode - Review (233) Tree (146) POJ (137) Difficult Algorithm (136) EPI (127) Different Solutions (119) Bit Algorithms (110) Cracking Coding Interview (110) Smart Algorithm (109) Math (91) HackerRank (85) Lintcode (83) Binary Search (73) Graph Algorithm (73) Greedy Algorithm (61) Interview Corner (61) Binary Tree (58) List (58) DFS (56) Algorithm Interview (53) Advanced Data Structure (52) Codility (52) ComProGuide (52) LeetCode - Extended (47) USACO (46) Geometry Algorithm (45) BFS (43) Data Structure (42) Mathematical Algorithm (42) ACM-ICPC (41) Jobdu (39) Interval (38) Recursive Algorithm (38) Stack (38) String Algorithm (38) Binary Search Tree (37) Knapsack (37) Codeforces (36) Introduction to Algorithms (36) Matrix (36) Must Known (36) Beauty of Programming (35) Sort (35) Space Optimization (34) Array (33) Trie (33) prismoskills (33) Segment Tree (32) Union-Find (32) Backtracking (31) HDU (31) Google Code Jam (30) Permutation (30) Puzzles (30) Array O(N) (29) Data Structure Design (29) Company-Zenefits (28) Microsoft 100 - July (28) to-do-must (28) Random (27) Sliding Window (27) GeeksQuiz (25) Logic Thinking (25) hihocoder (25) High Frequency (23) Palindrome (23) Algorithm Game (22) Company - LinkedIn (22) Graph (22) Hash (22) Queue (22) DFS + Review (21) TopCoder (21) Binary Indexed Trees (20) Brain Teaser (20) CareerCup (20) Company - Twitter (20) Pre-Sort (20) Company-Facebook (19) UVA (19) Probabilities (18) Follow Up (17) Codercareer (16) Company-Uber (16) Game Theory (16) Heap (16) Shortest Path (16) String Search (16) Topological Sort (16) Tree Traversal (16) itint5 (16) Iterator (15) Merge Sort (15) O(N) (15) Bisection Method (14) Difficult (14) Number (14) Number Theory (14) Post-Order Traverse (14) Priority Quieue (14) Amazon Interview (13) BST (13) Basic Algorithm (13) Codechef (13) Majority (13) mitbbs (13) Combination (12) Computational Geometry (12) KMP (12) Long Increasing Sequence(LIS) (12) Modify Tree (12) Reconstruct Tree (12) Reservoir Sampling (12) 尺取法 (12) AOJ (11) DFS+Backtracking (11) Fast Power Algorithm (11) Graph DFS (11) LCA (11) LeetCode - DFS (11) Ordered Stack (11) Princeton (11) Tree DP (11) 挑战程序设计竞赛 (11) Binary Search - Bisection (10) Company - Microsoft (10) Company-Airbnb (10) Euclidean GCD (10) Facebook Hacker Cup (10) HackerRank Easy (10) Reverse Thinking (10) Rolling Hash (10) SPOJ (10) Theory (10) Tutorialhorizon (10) X Sum (10) Coin Change (9) Divide and Conquer (9) Lintcode - Review (9) Mathblog (9) Max-Min Flow (9) Stack Overflow (9) Stock (9) Two Pointers (9) Book Notes (8) Bottom-Up (8) DP-Space Optimization (8) Graph BFS (8) LeetCode - DP (8) LeetCode Hard (8) Prefix Sum (8) Prime (8) Suffix Tree (8) System Design (8) Tech-Queries (8) Time Complexity (8) Use XOR (8) 穷竭搜索 (8) Algorithm Problem List (7) DFS+BFS (7) Facebook Interview (7) Fibonacci Numbers (7) Game Nim (7) HackerRank Difficult (7) Hackerearth (7) Interval Tree (7) Linked List (7) Longest Common Subsequence(LCS) (7) Math-Divisible (7) Miscs (7) O(1) Space (7) Probability DP (7) Radix Sort (7) Simulation (7) Xpost (7) n00tc0d3r (7) 蓝桥杯 (7) Bucket Sort (6) Catalan Number (6) Classic Data Structure Impl (6) DFS+DP (6) DP - Tree (6) How To (6) Interviewstreet (6) Kadane’s Algorithm (6) Knapsack - MultiplePack (6) Level Order Traversal (6) Manacher (6) Minimum Spanning Tree (6) One Pass (6) Programming Pearls (6) Quick Select (6) Rabin-Karp (6) Randomized Algorithms (6) Sampling (6) Schedule (6) Suffix Array (6) Threaded (6) reddit (6) AI (5) Art Of Programming-July (5) Big Data (5) Brute Force (5) Code Kata (5) Codility-lessons (5) Coding (5) Company - WMware (5) Crazyforcode (5) DFS+Cache (5) DP-Multiple Relation (5) DP-Print Solution (5) Dutch Flag (5) Fast Slow Pointers (5) Graph Cycle (5) Hash Strategy (5) Immutability (5) Inversion (5) Java (5) Kadane - Extended (5) Matrix Chain Multiplication (5) Microsoft Interview (5) Morris Traversal (5) Pruning (5) Quadtrees (5) Quick Partition (5) Quora (5) SPFA(Shortest Path Faster Algorithm) (5) Subarray Sum (5) Sweep Line (5) Traversal Once (5) TreeMap (5) jiuzhang (5) to-do-2 (5) 单调栈 (5) 树形DP (5) 1point3acres (4) Anagram (4) Approximate Algorithm (4) Backtracking-Include vs Exclude (4) Brute Force - Enumeration (4) Chess Game (4) Company-Amazon (4) Consistent Hash (4) Convex Hull (4) Cycle (4) DP-Include vs Exclude (4) Dijkstra (4) Distributed (4) Eulerian Cycle (4) Flood fill (4) Graph-Classic (4) HackerRank AI (4) Histogram (4) Kadane Max Sum (4) Knapsack - Mixed (4) Knapsack - Unbounded (4) Left and Right Array (4) MinMax (4) Multiple Data Structures (4) N Queens (4) Nerd Paradise (4) Parallel Algorithm (4) Practical Algorithm (4) Pre-Sum (4) Probability (4) Programcreek (4) Quick Sort (4) Spell Checker (4) Stock Maximize (4) Subsets (4) Sudoku (4) Symbol Table (4) TreeSet (4) Triangle (4) Water Jug (4) Word Ladder (4) algnotes (4) fgdsb (4) 最大化最小值 (4) A Star (3) Abbreviation (3) Algorithm - Brain Teaser (3) Algorithm Design (3) Anagrams (3) B Tree (3) Big Data Algorithm (3) Binary Search - Smart (3) Caterpillar Method (3) Coins (3) Company - Groupon (3) Company - Indeed (3) Cumulative Sum (3) DP-Fill by Length (3) DP-Two Variables (3) Dedup (3) Dequeue (3) Dropbox (3) Easy (3) Edit Distance (3) Expression (3) Finite Automata (3) Forward && Backward Scan (3) Github (3) GoLang (3) Include vs Exclude (3) Joseph (3) Jump Game (3) Knapsack-多重背包 (3) LeetCode - Bit (3) LeetCode - TODO (3) Linked List Merge Sort (3) LogN (3) Master Theorem (3) Maze (3) Min Cost Flow (3) Minesweeper (3) Missing Numbers (3) NP Hard (3) Online Algorithm (3) Pascal's Triangle (3) Pattern Match (3) Project Euler (3) Rectangle (3) Scala (3) SegmentFault (3) Stack - Smart (3) State Machine (3) Streaming Algorithm (3) Subset Sum (3) Subtree (3) Transform Tree (3) Two Pointers Window (3) Warshall Floyd (3) With Random Pointer (3) Word Search (3) bookkeeping (3) codebytes (3) Activity Selection Problem (2) Advanced Algorithm (2) AnAlgorithmADay (2) Application of Algorithm (2) Array Merge (2) BOJ (2) BT - Path Sum (2) Balanced Binary Search Tree (2) Bellman Ford (2) Binomial Coefficient (2) Bit Mask (2) Bit-Difficult (2) Bloom Filter (2) Book Coding Interview (2) Branch and Bound Method (2) Clock (2) Codesays (2) Company - Baidu (2) Complete Binary Tree (2) DFS+BFS, Flood Fill (2) DP - DFS (2) DP-3D Table (2) DP-Classical (2) DP-Output Solution (2) DP-Slide Window Gap (2) DP-i-k-j (2) DP-树形 (2) Distributed Algorithms (2) Divide and Conqure (2) Doubly Linked List (2) GoHired (2) Graham Scan (2) Graph - Bipartite (2) Graph BFS+DFS (2) Graph Coloring (2) Graph-Cut Vertices (2) Hamiltonian Cycle (2) Huffman Tree (2) In-order Traverse (2) Include or Exclude Last Element (2) Information Retrieval (2) Interview - Linkedin (2) Invariant (2) Islands (2) Knuth Shuffle (2) LeetCode - Recursive (2) Linked Interview (2) Linked List Sort (2) Longest SubArray (2) Lucene-Solr (2) MST (2) MST-Kruskal (2) Math-Remainder Queue (2) Matrix Power (2) Minimum Vertex Cover (2) Negative All Values (2) Number Each Digit (2) Numerical Method (2) Object Design (2) Order Statistic Tree (2) Palindromic (2) Parentheses (2) Parser (2) Peak (2) Programming (2) Range Minimum Query (2) Reuse Forward Backward (2) Robot (2) Rosettacode (2) Scan from right (2) Search (2) Shuffle (2) Sieve of Eratosthenes (2) SimHash (2) Simple Algorithm (2) Skyline (2) Spatial Index (2) Stream (2) Strongly Connected Components (2) Summary (2) TV (2) Tile (2) Traversal From End (2) Tree Sum (2) Tree Traversal Return Multiple Values (2) Word Break (2) Word Graph (2) Word Trie (2) Young Tableau (2) 剑指Offer (2) 数位DP (2) 1-X (1) 51Nod (1) Akka (1) Algorithm - How To (1) Algorithm - New (1) Algorithm Series (1) Algorithms Part I (1) Analysis of Algorithm (1) Array-Element Index Negative (1) Array-Rearrange (1) Auxiliary Array (1) Auxiliary Array: Inc&Dec (1) BACK (1) BK-Tree (1) BZOJ (1) Basic (1) Bayes (1) Beauty of Math (1) Big Integer (1) Big Number (1) Binary (1) Binary Tree Variant (1) Bipartite (1) Bit-Missing Number (1) BitMap (1) BitMap index (1) BitSet (1) Bug Free Code (1) BuildIt (1) C/C++ (1) CC Interview (1) Cache (1) Calculate Height at Same Recusrion (1) Cartesian tree (1) Check Tree Property (1) Chinese (1) Circular Buffer (1) Code Quality (1) Codesolutiony (1) Company - Alibaba (1) Company - Palantir (1) Company - WalmartLabs (1) Company-Apple (1) Company-Epic (1) Company-Salesforce (1) Company-Snapchat (1) Company-Yelp (1) Compression Algorithm (1) Concurrency (1) Convert BST to DLL (1) Convert DLL to BST (1) Custom Sort (1) Cyclic Replacement (1) DFS-Matrix (1) DP - Probability (1) DP Fill Diagonal First (1) DP-Difficult (1) DP-End with 0 or 1 (1) DP-Fill Diagonal First (1) DP-Graph (1) DP-Left and Right Array (1) DP-MaxMin (1) DP-Memoization (1) DP-Node All Possibilities (1) DP-Optimization (1) DP-Preserve Previous Value (1) DP-Print All Solution (1) Database (1) Detect Negative Cycle (1) Directed Graph (1) Do Two Things at Same Recusrion (1) Domino (1) Dr Dobb's (1) Duplicate (1) Equal probability (1) External Sort (1) FST (1) Failure Function (1) Fraction (1) Front End Pointers (1) Funny (1) Fuzzy String Search (1) Game (1) Generating Function (1) Generation (1) Genetic algorithm (1) GeoHash (1) Geometry - Orientation (1) Google APAC (1) Graph But No Graph (1) Graph Transpose (1) Graph Traversal (1) Graph-Coloring (1) Graph-Longest Path (1) Gray Code (1) HOJ (1) Hanoi (1) Hard Algorithm (1) How Hash (1) How to Test (1) Improve It (1) In Place (1) Inorder-Reverse Inorder Traverse Simultaneously (1) Interpolation search (1) Interview (1) Interview - Easy (1) Interview - Facebook (1) Isomorphic (1) JDK8 (1) K Dimensional Tree (1) Knapsack - Fractional (1) Knapsack - ZeroOnePack (1) Knight (1) Kosaraju’s algorithm (1) Kruskal (1) Kruskal MST (1) Kth Element (1) Least Common Ancestor (1) LeetCode - Binary Tree (1) LeetCode - Coding (1) LeetCode - Detail (1) LeetCode - Related (1) LeetCode Diffcult (1) Linked List Reverse (1) Linkedin (1) Linkedin Interview (1) Local MinMax (1) Logic Pattern (1) Longest Common Subsequence (1) Longest Common Substring (1) Longest Prefix Suffix(LPS) (1) Manhattan Distance (1) Map && Reverse Map (1) Math - Induction (1) Math-Multiply (1) Math-Sum Of Digits (1) Matrix - O(N+M) (1) Matrix BFS (1) Matrix Graph (1) Matrix Search (1) Matrix+DP (1) Matrix-Rotate (1) Max Min So Far (1) Median (1) Memory-Efficient (1) MinHash (1) MinMax Heap (1) Monotone Queue (1) Monto Carlo (1) Multi-Reverse (1) Multiple DFS (1) Multiple Tasks (1) Next Successor (1) Offline Algorithm (1) PAT (1) Parent-Only Tree (1) Partition (1) Path Finding (1) Patience Sort (1) Persistent (1) Pigeon Hole Principle (1) Power Set (1) Pratical Algorithm (1) Probabilistic Data Structure (1) Proof (1) Python (1) Queue & Stack (1) RSA (1) Ranking (1) Rddles (1) ReHash (1) Realtime (1) Recurrence Relation (1) Recursive DFS (1) Recursive to Iterative (1) Red-Black Tree (1) Region (1) Regular Expression (1) Resources (1) Reverse Inorder Traversal (1) Robin (1) Selection (1) Self Balancing BST (1) Similarity (1) Sort && Binary Search (1) String Algorithm. Symbol Table (1) String DP (1) String Distance (1) SubMatrix (1) Subsequence (1) System of Difference Constraints(差分约束系统) (1) TSP (1) Ternary Search Tree (1) Test (1) Thread (1) TimSort (1) Top-Down (1) Tournament (1) Tournament Tree (1) Transform Tree in Place (1) Tree Diameter (1) Tree Rotate (1) Trie + DFS (1) Trie and Heap (1) Trie vs Hash (1) Trie vs HashMap (1) Triplet (1) Two Data Structures (1) Two Stacks (1) USACO - Classical (1) USACO - Problems (1) UyHiP (1) Valid Tree (1) Vector (1) Wiggle Sort (1) Wikipedia (1) Yahoo Interview (1) ZOJ (1) baozitraining (1) codevs (1) cos126 (1) javabeat (1) jum (1) namic Programming (1) sqrt(N) (1) 两次dijkstra (1) 九度 (1) 二进制枚举 (1) 夹逼法 (1) 归一化 (1) 折半枚举 (1) 枚举 (1) 状态压缩DP (1) 男人八题 (1) 英雄会 (1) 逆向思维 (1)

Popular Posts