logo

(Airbnb)实现一个 StoreData 类:支持添加 key/value,并能监听某个 key 的值变化。

(Airbnb) Implement a StoreData class that stores key/value pairs and allows listening to changes for a key.

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: JavaScript, Coding

标签: Airbnb, Observer, State

参考答案摘要

需求拆解 存取: set(key, value) / get(key) 订阅: subscribe(key, cb) ,当该 key 的值变化时触发 cb(可返回 unsubscribe 函数)。 可选:只在值真正变化时触发;支持一次性订阅;支持监听所有 key。 实现要点 用 Map 保存数据: data: Map 。 用 Map 保存订阅者集合: listeners:...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

(Airbnb)实现一个 StoreData 类:支持添加 key/value,并能监听某个 key 的值变化。

Mediumjavascriptdesign-patternsobserver

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案