所以说你们还是 too young ,面试顺着他来就是了,猜他想要什么样的答案,并给他更多惊喜。
『我在刚工作的时候,用过 JSONP 来解决,但是由于有 xxx 缺陷,后面一般都使用 CORS 的方案了,当时还单独处理过 XDomainRequest 』(什么是资深啊,战术后仰)
CORS 方案我们需要注意 Origin 、Headers 、Methods 等的配置,再扯一堆非简单请求 options 之类的 balabala
如果觉得对面对 HTTP 还有点 了解,可以继续 Max Age 甚至 HTTP 缓存之类的扯下去。
扯远了,扯回来
『我在一个 xx 项目中,还曾经用过 iframe 的方案,在那个项目中涉及到了跨域通信的部分,我们使用了 PostMessage 来解决,当然这种方案也有诸多缺陷,目前我们在微前端方向已经有了一些新的探索 balabala 』
『回到跨域,我还曾经遇到过 xxx 问题,比如
a.taobao.com 和
b.taobao.com 之间需要登录 /cookie 之类的随便扯,我们使用了 document.domain/
window.name/location.hash 的方案来进行 hack ,这种方案不成熟之处在于 xxx ,我们后续做了 xxx 改进』
『日常的本地开发中,我们通常使用反向代理来解决这个问题,在团队内部,我们封装了 webpack 和 vite 的通用工作台,抹平 xxx 差异,让开发者可以更专注于业务。同样的,反向代理在 nginx 中也很实用,我们也基于这点来做了 xxx ,部署 xxx ,域名 xxx 』
『我自己的日常开发中,对于能够确保安全的环境,我通常打开 chrome 的 --disable-web-security 功能,一劳永逸。』
顺便再扯一点 Web 安全、canary 版本、chrome 新特性之类的,一场面试的时间差不多耗完了吧,他还有时间给你整算法题?
对了还有个 Websocket ,也看情况插进去好了