📣 独立日限时特惠: VIP通行证立减$68
查看: 4540| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 关于follow up里关于多线程和多机器的套路

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
在coding面试里,经常性的在解决了一个算法题后,面试官会follow up一些关于多线程或者多机器的问题, 比如说:
  • 这个程序在多线程的情况下,会出现什么问题?race condition怎么解决?
  • 这个matrix太大了,一个机器内存不够,怎么解决?

不知道大佬们怎么系统性的回答这类问题,有套路可寻么?


上一篇:求科普: AOLServer的前世今生
下一篇:Linux下面的make指令

本帖被以下淘专辑推荐:

全局:
这类问题在共享memory的时候是concurrent and synchronization,在不共享memory的时候成为distributed computing。多线程和多机器的处理方式有所不同。

第一个问题常见的就是一个variable,会有concurrent read/write。 例如setter/getter, 两个线程同时写的时候,你要保证数据的完整性。又例如producer/consumer,在没有东西的时候consumer要等着,在容量满了的时候producer要等着。如果两个线程都只是read only就没有任何问题,
需要找出critical section,然后用合适的,efficient的synchronization mechanism。
第二个问题主要是看如何能divide and conquer,或者on the fly process。一个庞大的数据,如果能分成独立的小部分,然后再汇总结果的话就可以轻易地分到多个机器解决。或者要把一个问题分成多步进行处理,例如用多个机器进行sorting
回复

使用道具 举报

全局:
回复

使用道具 举报

🔗
vanbupt 2020-5-1 01:34:41 | 只看该作者
全局:
同好奇,我只能从hashmap到分个文件处理然后提一下map reduce。。。后面的不会了
回复

使用道具 举报

🔗
 楼主| mikezhao1993 2020-5-2 02:31:26 | 只看该作者
全局:
浴火羽腾YZCR 发表于 2020-4-30 20:16
这类问题在共享memory的时候是concurrent and synchronization,在不共享memory的时候成为distributed comp ...

多谢多谢,很有帮助!
回复

使用道具 举报

🔗
striges1111 2020-5-2 03:49:02 | 只看该作者
全局:
mikezhao1993 发表于 2020-5-2 02:31
多谢多谢,很有帮助!

这玩意其实真深究下去是和架构息息相关的,比如多线程的话,一个thread sleep了以后可能会在另外一个numa node被wake up,然后直接hard error需要去硬盘读取数据,性能暴降。
所以我一般是一开始的时候就直接问,需不需要考虑多线程多进程,等确定了要不要以后再设计class。有的会有lock free solution,可以设计的时候就考虑进去
回复

使用道具 举报

🔗
水逼一枚 2020-5-2 13:14:22 | 只看该作者
全局:
第一个问题,单机多线程的时候可以聊,比如synchronize, reentrant lock, volatile, ThreadLocal, CAS...多机的话没太明白,是指多机操作比如share的DB吗?如果不是DB的话,别的资源都是在各自的JVM上,每个Host都是share-nothing architecture互相之间应该没影响.
回复

使用道具 举报

🔗
wangdiao01 2020-5-2 17:24:04 | 只看该作者
全局:
建议找个讲系统设计的网课上上,imooc/某章/百度云都行,盗版的也无所谓,上完基本就对这种题的所有问法都清楚了。
回复

使用道具 举报

全局:
非常有帮助的帖子Mark一下
除了面试想知道实际工作中怎么分布处理海量数据的技巧和经验?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表