现在的位置: 首页 > 综合 > 正文

面试高频题

2019年10月13日 ⁄ 综合 ⁄ 共 1219字 ⁄ 字号 评论关闭

我的面试高频题
coding:
- JOIN: nested join, hash join, sort-merge join
- Number: Fibonacci, prime,随机取文件某一行
- String: strstr, wordcount
- Tree: height, lca, balance tree
- Heap: 查找最大的k个数
- DP: 最大连续子串和
- array: find a key in rotated array, 去除重复字符
- linkedlist: 是否有环,插入结点,删除重复结点 
- 递归回溯:变化很多,这方面需要大量练习

知识性:
多线程,mutex/semaphore
java GC
C++ virtual, smart pointer
regex使用
数据库:知道btree, 索引
search engine: 倒排表,拉链,稀疏索引,空间向量模型,tf*idf,
large scale data: hash, consistent hash, bloom filter, bitmap, 外排序,
partition
分布式:CAP理论,gossip,Paxos, GFS设计思想
network: socket, tcp3次握手, asyschnoized io, epoll, select, 惊群

设计型:
queue/stack实现
LRU
trie tree
设计游戏
四则运算求值

我感觉把我上面说的练熟,还是很大可能性遇到的,虽然不是很全面,但我觉得不应该
把太多时间花在难题上,充实知识体系,符合职位要求更重要。

标 题: 低频题小节
发信站: BBS 未名空间站 (Sun Mar 4 13:17:29 2012, 美东)

我在面试中,发现还是有时候很难去准备的,听起来也很怪,我就随便列一些我遇到的
低频题给大家看看,有个感觉。

语言细节
1. python yield什么意思,generator,如何操作系统命令popen跟os.system区别
2. 问我API是叫什么,作用是如何把一个path 和文件连起来,path+name,我后来才明
白是说path里面有可能最后没/,path="/ab" , name = "ef"
3. java实现多线程的三种方式
4. java跟c++模板的区别

高级算法
1. 图论:把一个有向图划分成几个区域,每个区域用一中颜色染色,强连通?

分布式理论
2 phase commit是啥
vector clock
一致性hash,分布式hash

数据库
数据如何备份,把mysql导入导出命令给写出来,load data...

信息处理:
如何消重,去除spam

数学
1. reject sampling, 计算期望

linux内核
1. linux的原语是怎么实现的
2. 软练和硬连的区别
3. kill -9 9是什么意思,会不会有些进程永远杀不死
4. ls -l /dev
brw-r----- 1 root operator 14, 0 Feb 29 01:48 disk0
解释每个字符什么意思,14是什么

计算机原理
CPU L1, L2, L3 cache, memory 速度
磁盘读写速度
SSD跟Sata磁盘区别

抱歉!评论已关闭.