Bloomberg
问面试官的问题
- 你在哪个组啊
- work life balance
- new grad进去之后培训怎么怎么样啊
喜欢考的题 tree, linkedlist, array
- [x] 介绍一个project
- [x] why BB
- [ ] 如何检查输入,并且throw exception
- [x] add two number
[x] move zeros
linkedlist
- [x] Implement a LinkedList Class(一个add,一个deep copy,一个delete 没了)
- [x] Merge k Sorted Lists
- [x] linkedlist sort
- [x] duplicate node
Math
- [x] power(a,n), 用recursive 和 iterative 的方法解。
- [x] number of 1 bits
- [x] reverse integer
- [x] if a given int is a palindrome : reverse 之后是否相等
Array
- [x] Minimum Moves to Equal Array Elements
- [x] Maximum Size Subarray Sum Equals
- [x] two sum -- hashmap, two pointer
- [x] find the second largest number in an int array
- [x] Missing Number
- [x] find the longest continuous subset that the sum is not bigger than the target.
- [x] moving averge from data stream
- [x] find the duplicate number
- [x] moving zeros, 给一个array, 把所有的 0 移到 array 开头。
- [x] fist missing positive
- [ ] Leetcode463岛屿周长变种,不同的是这里面数字有1,2,3,...代表不同的岛屿,分别求各个岛屿的周长。
- [x] word compression
- [ ] 约瑟夫环问题
- [ ] max reward: range sum 2d mutable or immutable
- [x] max points in a line
- [x] smallest distance duplicate word
tree
- [ ] 给K, 在BST中找 match,没有match就返回 tree里面比K小的里最大值, the most largest value of the left substree.
- [x] binary tree path maximum sum
- [x] symmetric tree
- [ ] second largest node in BST
- [x] Populating to Next Node,我说用breadth first search方法以及Three Pointers(Parent, Child Head, Child Tail)来做,O(N)时间,O(1)空间
[x] string 里面第一个不重复的char: hashmap, key: char , value : index, 重复的char value -> -1
Data Structure
- [x] implement q by stack
- [x] min stack
- [x] Leetcode155 min stack, 问题只是min变成了max. 用两个stack实现,follow up是如果要push一堆重复数值很多的数字,怎么优化。
- [x] LRU cache
- [x] find median from data stream
- [x] Valid Parenthese,只用关注里面的curly brace,用stack做的,然后,问了一下,如何拓展,我说可以用Hash Map和Hash Set组合拓展到更多的情况。
- [x] islands number
- [x] merge interval
- [x] 许多intervals求没有overlap的最大interval的数量[1,3][2,5][4,6] 返回2, greedy
- [x] Find top K frequency words in words list.
- [x] largest rectangle in histogram
dp
- [x] unique path i && ii
- [ ] 拿苹果dp
- [ ] 划分类dp, stock III
OOD
- [ ] design vending machine
- [x] 电梯,只有一架电梯,只用设计数据结构,提到用treemap来插入来自其他楼层的请求。
- [x] 什么叫继承,什么是abstract class: cann't instantiation,继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。
[x] 想实时取到一个范围的data应该用什么,我本来想说用线段树,但是感觉线段树很不好解释,就说用B-tree,然后问了我B-tree是怎么work的
- [x] sql和nosql的区别,以及为什么用nosql:
nosql 的优点: easy to scale(数据之间无关联), 性能好, io-intensive,大容量,灵活的数据结构,高可用
- Document-oriented,用文档来组织数据,不需要严格的结构。
- High performance,高性能
- High availability,高可用,比如复制 (Replica set)
- Easy scalability,易扩展,比如Sharding
- Rich query language,富查询
sql的优点:应对可靠性reliability需求高的数据,数据之间关联密切。
- [x] 多线程