sjn_hoho

sjn_hoho

面试总结

一场面试的总结与整理

今天参与了一场面试,表现的很失败,感觉还是自己对所有知识还是很浅显的了解了一番,没有仔细深挖。自己又不断的提及一些自己无法清楚阐述的知识点,最后导致表现出来的就是啥都不会,并不是自己想要展现的,知识面宽广的形象。吃一堑长一智,以后没有深挖过的坚决不提。

具体

如何向一个 redux 用户安利 dva?

会问这个问题的原因是,面试官提出 redux 实际是一个很简单的库,那有没有自己在 redux 上封装或者使用过时,我回答自己用过 dva,那就引发了一系列问题,像 model 的概念等等。其实问答也很简单,但是当时就是想不出来。 dva 其实就是基于 React + Redux + Saga 的最佳实践沉淀,然后 把 store 及 saga 统一为一个 model 的概念, 写在一个 js 文件里面, 然后 dva 为了简化开发体验,还内置了 react-router 和 fetch,其实都是看过的概念,但却说不出口。😢。另外,如何安利 dva 呢。redux 写起来其实 reducer, saga, action 都是分离的(分文件)。 带来一系列的的问题。

  • 编辑成本高,需要在 reducer, saga, action 之间来回切换
  • 不便于组织业务模型 (或者叫 domain model) 。比如我们写了一个 userlist 之后,要写一个 productlist,需要复制很多文件。
  • saga 书写太复杂,每监听一个 action 都需要走 fork -> watcher -> worker 的流程
  • entry 书写麻烦
  • 。。。

csrf 防护的措施,csrf token 怎么产生的,会不会过期,非对称加密是什么?

其实不用扯多的,就说 jwt,非对称加密的意思就是需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法

有没有关注 react 新特性。那 hooks 原理是什么?

https://github.com/brickspert/blog/issues/26

因为简历中有涉及 node,所以上来先问了 node 的事件循环。。其实之前有看过文章分析,没想到这么快就忘记了。。

文章链接 https://cnodejs.org/topic/5a9108d78d6e16e56bb80882

还有一些小的没答上来的。

常见的 HTTP Header 就讲了 Content-Type,ETag,Expires 其实可以讲更多。压缩相关的 Accept-Encoding,Content-Encoding 缓存相关的更多的。 Expires,Cache-Control,If-None-Match,Etag,If-Modified-Since,Last-Modified 等。详细作用 google。