远景智能前端一面面经
总体时间约 26 分钟
没有写算法也没有问很多网络的内容,都是在问项目相关的内容
问了很多 webpack 的内容没有回答好,www
- 自我介绍
- 项目介绍(两个中选了React-Redux的那个项目,另一个是原生的 JS 套壳软件)
- 介绍了个人的工作,组件、页面
- 前后端交互
- 带新人
- 总结了个人收获(了解框架的便利性、增加了框架的使用经历)
- Redux的原理
- 一个经典的发布订阅器、讲了 store、Provider、connect
- 是否每一层组件都需要进行 connnect
- 并没有每一个组件都需要 connect
- 一些简单的组件直接 export
- Ant 的使用版本(用了最新4.0)
- 4.0 与 3.0 的区别
- 用了 Ant 里面的哪些组件
- 固钉
- 卡片(讲了在这里使用上传文件,Ant 给出的便利性)
- 图片
- 原生 JS 的上传文件 API
- 另外一个项目的原生 fetch API 上传文件,把软件里面的字符串转成 Blob 进行传输
- 上传的阶段,上传的生命周期
- 不会
- 回答了有点向 Ajax 里面的 ReadyState (面试官说本质上应该是一样的)
- 上传的过程是否有考虑网络波动问题
- 没有考虑
- 文件较小没有特殊处理
- git的服务器用的是自己搭的还是直接 GitHub
- 用 Github
- 是否多人协作开发
- 是
- 怎么管理分支
- master 不动
- 建立新的 dev 分支
- 依靠 dev 分支进行开发
- 改的文件冲突
- rebase
- merge 之后冲突处理
- 项目的打包,发布
- 直接把打包后的文件给后端发布
- 什么工具打包
- 直接使用脚手架 creat-react-app 里面的 build 进行打包
- 有没有改动脚手架里面的打包发布,有没有把打包的 webpack 抽离出来
- 没有(有点小尴尬,对打包没有细致的研究)
- 有没有使用 less 或者 sass
- 没有使用,直接生成
- 项目的组件里面的样式的命名空间的管理
- 我遇到了这个问题,但是没有成功,尝试用阿里的 less 的文档
- 面试官想要听我的思路,但是没有研究,没有解决思路
- 面试官说有两层(一是人为规定前缀,但是这样所有开发者都必须遵循一个固定的写法,另一种是通过注入的方式将前缀注入进去)
面试官这里还给我找借口说我可能是因为开发时间太紧没有成功,www,太好了
- 打包工具,如何把包分成可变和不可变的来减少浏览器的压力
- 没有了解到
- 前后端的协作开发模式
- 前后端分离开发
- 使用了 API POST 来定义接口文档
- 使用 Json-serve 在本机进行模拟
- 后端的服务有没有探索过
- 有和队员一起解决跨域的问题
- 项目有没有出现跨域问题
- 因为项目的后端是打开了项目的跨域允许,所以没有出现问题
- 另外一个项目使用的也是同样的 web 服务器
- 有没有跨域问题的解决方法
- jsonp(面试官说也可以,但还是不太安全,另外限制比较多)
- 有没有去了解过 Nginx(反向代理)
- 有知道这个解决方案,但是项目中没有使用
- 面试官这个取决于部署模式,如果都部署在同一个虚拟机下面,根本不会出现这个问题(域名是同一个,IP 是同一个)
- 想做的方向
- 数据可视化
- 大数据
- 全栈
- 讲一下理解的数据可视化
- 讲了 TensorFlow 可以可视化调参
- 什么时间可以出来实习
- 暑期
- 实习多久
- 可以从暑假到大四上
- 实习地点距离学校比较远的问题
- 没有问题(我是有觉悟的打工人)
- 反问
- 问了表现(告诉我不用问,要是能够过会有人联系我的)
- 问了技术栈(vue、hook)(告诉我只要确定进入前端领域就总会学会的)
- 后面可能还有两轮的面试,注意电话
面试官太友好了,都是问项目,问一些我真正动手做的事情,但我还是太菜了