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

[经验总结] 在职刷题 + System Design + 面试准备的路上

   
🔗
 楼主| guaitt 2018-11-14 13:46:29 | 只看该作者
全局:

看的是grokking the system design and 9 chapter.  这个楼主自己买的,不方便share哈
回复

使用道具 举报

🔗
ahao99 2018-11-14 23:42:24 | 只看该作者
全局:
嗯好,只是想知道哪里买的。
另外设计都是后端相关的吗?我是移动端的,设计题都不知道哪里有
回复

使用道具 举报

🔗
 楼主| guaitt 2018-11-15 04:05:41 | 只看该作者
全局:
ahao99 发表于 2018-11-14 23:42
嗯好,只是想知道哪里买的。
另外设计都是后端相关的吗?我是移动端的,设计题都不知道哪里有

移动端考的设计完全不同的,要不然我连移动端也一起面了
回复

使用道具 举报

🔗
 楼主| guaitt 2018-11-15 13:36:22 | 只看该作者
全局:
11月14日
今天刷题比较少,主要在准备Behavior questions 以及刷Uber tech blog,为了两天后的onsite做准备。
LeetCode
384. Shuffle an Array
706. Design HashMap (对于hash collision 有两种策略:separate chaining and open addressing)
System Design
Uber 相关技术栈以及One click system的架构,workflow:sender ->send the message to Gateway -> messaging platform -> persisted in DB(Cassandra) -> local push service and remote push service -> send the message to Receiver -> respond message received to messaging platform.    AI架构相关: sender -> Backend service -> ML platform (message to intent  detection(simply the message) -> reply retrieval(provide response)) -> Top k suggested replies -> Receiver
回复

使用道具 举报

🔗
bocai88 2018-11-15 16:42:26 | 只看该作者
全局:
ahao99 发表于 2018-11-14 23:42
嗯好,只是想知道哪里买的。
另外设计都是后端相关的吗?我是移动端的,设计题都不知道哪里有

我也是移动端,层主找到相关设计方面资料吗?
回复

使用道具 举报

🔗
ahao99 2018-11-15 23:05:25 | 只看该作者
全局:
bocai88 发表于 2018-11-15 16:42
我也是移动端,层主找到相关设计方面资料吗?

没有,不知道怎么准备。。
就把架构多熟悉下
回复

使用道具 举报

🔗
 楼主| guaitt 2018-11-16 12:56:44 | 只看该作者
全局:
11月14日
今天因为暴雪一波三折,航班取消,本来约好的onsite又得重新约,心力憔悴,只坚持看完了今日份的系统设计。
System Design: How to design Uber
Uber使用的定位存储是Google S2,但为了方便理解,使用Geohash来替代。Geohash以base32通过把经纬度横竖划分不断精确,就比如把世界分为32份,每份再分32份,这样不断分割,精度越来越高,同一个地区的两点其prefix相同的也更多.这就方便去查找user附近的driver,通过把地点的prefix存为4,5,6位来划分20km,2.5km,0.5km范围内来找出附近的driver。 每次司机通过heartbeat的方式每4秒上报一次自己的位置,顺便拿一下是否有附近user的request.

补充内容 (2018-11-17 12:11):
写错了,这是11月15日
回复

使用道具 举报

全局:
请问楼主,系统设计这一块儿该怎么准备,可否请教下经验?谢谢!祝楼主拿到大offer!
回复

使用道具 举报

🔗
 楼主| guaitt 2018-11-17 01:15:58 | 只看该作者
全局:
培根三明治 发表于 2018-11-16 13:59
请问楼主,系统设计这一块儿该怎么准备,可否请教下经验?谢谢!祝楼主拿到大offer!

目前就是对经典topic一个一个啃,然后白板画一遍全部流程,从scenario开始分析用户量,QPS多少和存储量多大,这个能决定之后会用到什么样的DB和优化方案。然后分析主要有哪些feature需要在MVP阶段实现,以及需要哪些service来构成microservice架构,每个service都作为一个独立的server再配备相应的DB,根据需求和之前对scenario的分析来决定用NoSql还是SQL。然后设计出DB schema, 画出完整workflow, 形成完整的work solution.  后续会参考多方资料来深挖多种solution以及其他细节作为follow up即为scale部分做准备。
回复

使用道具 举报

🔗
 楼主| guaitt 2018-11-17 13:25:47 | 只看该作者
全局:
11月16日
Leetcode
722. Remove Comments
54. Spiral Matrix
59. Spiral Matrix II
118. Pascal's Triangle
119. Pascal's Triangle II
System Design:
How to design Uber: 今天白板了一遍Design Uber, 其workflow为Driver ->report their location every 4s -> Dispatch service -> update location information with 4,5,6 length of Geohash in Location Table(Redis) -> check if there is assigned trip id in Driver Table -> Retrieve Trip information from Trip Table in Dispatch Server -> Driver Accept/Deny/Cancel trip -> Update status in Trip Table in Dispatch Server and Driver Table in Geo Server -> Returned matched user to driver and matched driver to user.  这里User Table 和 Trip Table (trip_id, driver_id, user_id, latitude, longitude, status, created_at) 在Dispatch Server 里为SQL, Location Table (key: geohash, value: set of driver_id) 和 Driver Table(driver_id, lati, longi, status, trip_id, updated_at)为NoSQL使用Redis或者Cassandra.    使用NoSql是因为写操作要求更多,需要不断更新location.
回复

使用道具 举报

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

本版积分规则

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