《圣天门口》# TVChinese - 中文电视
l*3
1 楼
刚刚面的,问了很多数据结构,design,OS,和OO的基本概念,面试了1个半多小时。
== Resume ==
1. Describe the projects listed in the resume.
== Data Structures & Complexity ==
2. Lookup in linked list and array (sorted, unsorted)
3. Sorting strategies (comparison-based & non-comparison-based)
4. Lookup, insert, delete in hash table.
5. How to resolve collision (chaining, open addressing)
6. How to support delete with using open addressing
7. What affects collision (hash table size & hash function)
8. What the complexity when using dynamic array for hash table?
(insert 1M elements takes how many steps when we always copy over => 2^n (
geometric serie))
9. What is BST, balanced BST? How to maintain balance with inputs like 1, 2,
3, 4, 5 ... (red-black tree)
== OS concepts ==
1. What is process & thread? Difference between kernel thread & application
thread.
2. What is virtual memory? What is it good for?
3. How to implement thread? (save/restore registers during context switch)
4. Write a program to check if stack grows downward or upward. (A calls B
and prints the addresses of two local variables)
== Design ==
1. Design an web-site for playing card games. (what classes, what are the
responsibilities, users vs players)
== OO ==
1. What is inheritence and polymorphism?
2. How to overload a function? Why return type is not enough?
3. Is-a vs Has-a
4. aggregation vs composition
5. Strategy design pattern
6. Issues with multiple inheritance (diamond problem)
7. Class member vs instance member
8. Implementation inheritance vs interface inheritance
9. How to reuse code? (inheritence, template, library, external program, web
-service, FPGA, etc)
Any questions?
== Resume ==
1. Describe the projects listed in the resume.
== Data Structures & Complexity ==
2. Lookup in linked list and array (sorted, unsorted)
3. Sorting strategies (comparison-based & non-comparison-based)
4. Lookup, insert, delete in hash table.
5. How to resolve collision (chaining, open addressing)
6. How to support delete with using open addressing
7. What affects collision (hash table size & hash function)
8. What the complexity when using dynamic array for hash table?
(insert 1M elements takes how many steps when we always copy over => 2^n (
geometric serie))
9. What is BST, balanced BST? How to maintain balance with inputs like 1, 2,
3, 4, 5 ... (red-black tree)
== OS concepts ==
1. What is process & thread? Difference between kernel thread & application
thread.
2. What is virtual memory? What is it good for?
3. How to implement thread? (save/restore registers during context switch)
4. Write a program to check if stack grows downward or upward. (A calls B
and prints the addresses of two local variables)
== Design ==
1. Design an web-site for playing card games. (what classes, what are the
responsibilities, users vs players)
== OO ==
1. What is inheritence and polymorphism?
2. How to overload a function? Why return type is not enough?
3. Is-a vs Has-a
4. aggregation vs composition
5. Strategy design pattern
6. Issues with multiple inheritance (diamond problem)
7. Class member vs instance member
8. Implementation inheritance vs interface inheritance
9. How to reuse code? (inheritence, template, library, external program, web
-service, FPGA, etc)
Any questions?