由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教系统设计问题
相关主题
Linkedin onsite 面经google这样的招聘方式还是很先进的啊
F的面试经问个弱智问题
面试被拒,百思不得其解,求指点请教一道onsite面试题
F家intern面经我觉得不用刷很多题
请问C++ threading w/ lock free algorithms刷题就和高考一样 不参加高考当然可以成才
如何实现线程安全的哈希表如何回答follow-up问题: 如何线程安全,如何scale?
挖个坑,不同层次刷题高手水平排名来,讨论个基本问题
面试过不过的标准G家onsite面经
相关话题的讨论汇总
话题: br话题: lock话题: 文件话题: 设计话题: load
进入JobHunting版参与讨论
1 (共1页)
B***r
发帖数: 79
1
请指教下面两道系统设计问题如何解答?
1. Multiple threads need to write to the same log file.
2. How to load 20GB file into 10GB memory?
多谢!
r*****s
发帖数: 1815
2
不算系统设计吧
多个线程同时写,既然是log,我们假设就是append,那么每个线程先写自己的文件,
然后另起一个进程merge就好了,很类似ST
20G文件load进10G内存,没有context很难答,因为完全不明确想要什么。。。我猜测
大概是说分页,虚拟内存?
c*******a
发帖数: 1879
3
你题刷的差不多了?
还不赶快去面试

【在 r*****s 的大作中提到】
: 不算系统设计吧
: 多个线程同时写,既然是log,我们假设就是append,那么每个线程先写自己的文件,
: 然后另起一个进程merge就好了,很类似ST
: 20G文件load进10G内存,没有context很难答,因为完全不明确想要什么。。。我猜测
: 大概是说分页,虚拟内存?

r*****s
发帖数: 1815
4
不够啊,POJ还没刷到1000


: 你题刷的差不多了?

: 还不赶快去面试



【在 c*******a 的大作中提到】
: 你题刷的差不多了?
: 还不赶快去面试

r*****s
发帖数: 1815
5
另外一个代码层面的解决办法是先扔到一个队列里,然后由一个tread统一写进磁盘。
。。
既然无论如何都有缓存,这也未尝不可。。。


: 不算系统设计吧

: 多个线程同时写,既然是log,我们假设就是append,那么每个线程先写自己的
文件,

: 然后另起一个进程merge就好了,很类似ST

: 20G文件load进10G内存,没有context很难答,因为完全不明确想要什么。。。
我猜测

: 大概是说分页,虚拟内存?



【在 r*****s 的大作中提到】
: 不够啊,POJ还没刷到1000
:
:
: 你题刷的差不多了?
:
: 还不赶快去面试
:

c*******a
发帖数: 1879
6
不管怎么样, 你都逃脱不了 需要LOCK的命运。

【在 r*****s 的大作中提到】
: 另外一个代码层面的解决办法是先扔到一个队列里,然后由一个tread统一写进磁盘。
: 。。
: 既然无论如何都有缓存,这也未尝不可。。。
:
:
: 不算系统设计吧
:
: 多个线程同时写,既然是log,我们假设就是append,那么每个线程先写自己的
: 文件,
:
: 然后另起一个进程merge就好了,很类似ST
:
: 20G文件load进10G内存,没有context很难答,因为完全不明确想要什么。。。
: 我猜测

r*****s
发帖数: 1815
7
不需要,举个例子,一个线程写文件,写30秒,就切换到下一个文件了
然后merger对前面那个已经写完的文件就可以随便read了。
完全不需要lock
queue理论上也不需要lock,但是实践上lock free的性能未必好,所以一般还是用lock
的。


: 不管怎么样, 你都逃脱不了 需要LOCK的命运。



【在 c*******a 的大作中提到】
: 不管怎么样, 你都逃脱不了 需要LOCK的命运。
c*******a
发帖数: 1879
8
merge itself is acting as a lock!
ACT AS OWNER! OK

lock

【在 r*****s 的大作中提到】
: 不需要,举个例子,一个线程写文件,写30秒,就切换到下一个文件了
: 然后merger对前面那个已经写完的文件就可以随便read了。
: 完全不需要lock
: queue理论上也不需要lock,但是实践上lock free的性能未必好,所以一般还是用lock
: 的。
:
:
: 不管怎么样, 你都逃脱不了 需要LOCK的命运。
:

B***r
发帖数: 79
9
看起来多线程写到同一个文件没法不 LOCK 啊。想不出更好的办法。那道Load 文件到
内存的问题,我感觉是要问面试官一些细节要求,可是不知道怎么问。

【在 c*******a 的大作中提到】
: merge itself is acting as a lock!
: ACT AS OWNER! OK
:
: lock

j**********r
发帖数: 3798
10
看来都是新警察,内存开个缓冲区先往那里写,然后再写到文件上就是。Async
logging都是这样做的。

【在 B***r 的大作中提到】
: 看起来多线程写到同一个文件没法不 LOCK 啊。想不出更好的办法。那道Load 文件到
: 内存的问题,我感觉是要问面试官一些细节要求,可是不知道怎么问。

r*****s
发帖数: 1815
11
和我五楼说的有啥区别


: 看来都是新警察,内存开个缓冲区先往那里写,然后再写到文件上就是。Async

: logging都是这样做的。



【在 j**********r 的大作中提到】
: 看来都是新警察,内存开个缓冲区先往那里写,然后再写到文件上就是。Async
: logging都是这样做的。

j**********r
发帖数: 3798
12
作为老警察,碰到这种实际问题。不应该支支吾吾找各种可能办法,而是应该指出主流
解决方案,顺带把下面三个follow up问题不问就回答了,直接把面试官一波搞定。

Async

【在 r*****s 的大作中提到】
: 和我五楼说的有啥区别
:
:
: 看来都是新警察,内存开个缓冲区先往那里写,然后再写到文件上就是。Async
:
: logging都是这样做的。
:

r*****s
发帖数: 1815
13
我开始的时候以为问的是WAL。
我说的是LSM的标准办法。


: 作为老警察,碰到这种实际问题。不应该支支吾吾找各种可能办法,而是应该指
出主流

: 解决方案,顺带把下面三个follow up问题不问就回答了,直接把面试官一波搞
定。

: Async



【在 j**********r 的大作中提到】
: 作为老警察,碰到这种实际问题。不应该支支吾吾找各种可能办法,而是应该指出主流
: 解决方案,顺带把下面三个follow up问题不问就回答了,直接把面试官一波搞定。
:
: Async

1 (共1页)
进入JobHunting版参与讨论
相关主题
G家onsite面经请问C++ threading w/ lock free algorithms
最近面的两道题,求解答如何实现线程安全的哈希表
fb电面面经挖个坑,不同层次刷题高手水平排名
新鲜RocketFuels电面面试过不过的标准
Linkedin onsite 面经google这样的招聘方式还是很先进的啊
F的面试经问个弱智问题
面试被拒,百思不得其解,求指点请教一道onsite面试题
F家intern面经我觉得不用刷很多题
相关话题的讨论汇总
话题: br话题: lock话题: 文件话题: 设计话题: load