一面
hr说总监要先看看我适合哪个岗位。。整体面试感受一般,总监的网络不好,问的问题也比较偏。
-
api与spi的区别?
-
view和table的区别?
-
微服务和SOA有什么本质区别? 微服务有什么缺点?
-
数据模型和领域模型有什么区别?Answer by newBing : 数据模型和领域模型都是软件开发中的重要概念。数据模型是指业务数据该如何持久化,以及数据之间的关系,即:传统的ER模型;数据模型存在于数据层。领域模型(Domain model)指业务逻辑中,相关联的数据如何联动协同;领域模型存在于领域层。
简单来说,数据模型关注的是数据存储,其要义是扩展性、灵活性、性能。而领域模型负责业务逻辑的实现,其要义是业务语义显性化的表达,以及充分利用OO的特性增加代码的业务表征能力。
举个例子,假设我们有一个电商网站,我们需要设计一个订单模块。数据模型关注的是如何存储订单数据,包括订单的基本信息、商品信息、收货地址等等。而领域模型则关注的是订单模块中的业务逻辑,比如下单、支付、发货、退款等等。领域模型中的订单实体可能会包含一些数据模型中没有的属性,比如订单状态、支付状态等等。 -
稍微介绍下DDD
-
为什么要用RPC框架,而不是HTTP?参考答案1:
- 历史原因。TCP 是 70 年 代出来的协议,而 HTTP 是 90 年代 才开始流行的。而直接使用裸 TCP 会有问题,RPC是80年代出来解决远程调用的。
- 性能原因。HTTP 设计 初是用于做网页文本展示的,所以它传的内容以字符串为主。Header 和 Body 都是如此。在 Body 这块,它使用 JSON 来 序列化 结构体数据,如下。而且对于方法调用来说冗余的信息也比较多。
而RPC,因为它定制化程度更高,可以采用体积更小的 Protobuf 或其他序列化协议去保存结构体数据,同时也不需要像 HTTP 那样考虑各种浏览器行为,比如 302 重定向跳转啥的。因此性能也会更好一些,这也是在公司内部微服务中抛弃 HTTP,选择使用 RPC 的最主要原因。
- 设计一个类微博的系统,实现几个功能:可以关注他人;可以发布动态;粉丝可以看到博主的动态。