明源云笔试总结
文章目录
打家劫舍问题
213. 打家劫舍 II
Difficulty: 中等
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。
给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。
示例 1:
|
|
示例 2:
|
|
示例 3:
|
|
提示:
1 <= nums.length <= 100
0 <= nums[i] <= 1000
Solution
|
|
golang的问题
- 讲讲协程,为什么协程比线程轻量
面向对象设计
- 讲讲 面向对象设计的几种方法
1),OCP原则(也叫开闭原则) 2),SRP原则(职责单一原则) 3),OCP原则(里氏替换原则) 4),DIP原则(依赖倒置原则) 6),LoD法则(迪米特法则)
开闭原则: 对扩展开放,对修改关闭
1、轻易不要去修改别人的方法 可能很多地方调用 有的方法抛出去后 被其他外部的调用(你都不知道 被谁调用了) 做兼容 做扩展
2、自己的设计 保证好的扩展性 对扩展开放,对修改关闭
redis 缓存 更新
- 你是先更新缓存 ,还是先更新DB
http2.0 相比 http1.1 做了哪些升级
八、HTTP2.0和HTTP1.X相比的新特性
- 新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
- 多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
- header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
- 服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。
文章作者 LYR
上次更新 2021-08-17