前言
一面过三天之后打电话约二面时间,一面基础,二面项目。。。每次面试都被虐,一边求轻虐一边学东西。。。
面试时长: 30 分钟
题目列表:
- 简历中项目的 难点或者注意的模块
- sdk 源码阅读过吗,有没有一些让你在意的地方
- *关于文件上传,当网络断了的时候,有了解过断点续传吗
- 关于 后台项目 的用户体验,你有什么心得和体会
- 对于用户反馈,比如用户留言“我按了一个按钮没有反应”;你会怎么解决
- *如何实现一个监控系统或者一个监控模块
- 对于新的项目, gulp 会重写吗
- 谈谈你对工程化的理解
- 为什么项目用了gulp 不用webpack。或者说项目的技术选型有点落后
- 你估算过该项目的规模吗
- 你觉得你有什么你还有什么优点我没有问到的,或者你有什么问题想问的
题目
1.简历中项目的 难点或者注意的模块
我说了下 多文件上传,其实也不算一个难点了,只是当时将SDK 嵌入到项目里面花了蛮长时间。
2.sdk 源码阅读过吗,有没有一些让你在意的地方
需要先向云服务器申请 hash code 和 token;还有分区下载。
3.*关于文件上传,当网络断了的时候,有了解过断点续传吗
断点续传,http1.1中定义了断点续传的 http 头 range 和 content-range 以及状态码 206
参考博客:https://blog.csdn.net/xifeijian/article/details/8712439
4.关于 后台项目 的用户体验,你有什么心得和体会
数据联动;减少用户的输入,尽量用鼠标代替
5.对于用户反馈,比如用户留言“我按了一个按钮没有反应”;你会怎么解决
懵了,我说会记录下用户的详细操作流程,然后判断哪里出问题。于是追问
6.*如何实现一个监控系统或者一个监控模块
提示:内嵌于后台系统中,可以想成只是一个js 文件。
定义问题:
- js 报错
- 服务器报错
针对问题:满足开闭原则
window.onerror
监听所有的错误信息- 重写 xmlHttpRequest 的代码,让其能够捕获所有服务器端传来的错误信息;甚至重写 fetch 或者 promise。是需要重写底层模块实现,而不是重写顶层接口,不要动原业务代码。
7.对于新的项目, gulp 会重写吗
大的 gulp 任务不会,顶多就小变动
8.谈谈你对工程化的理解
从开发环境到资源模块打包再到git 配置管理发布上线。
9.为什么项目用了gulp 不用webpack。或者说项目的技术选型有点落后
略。
10.你估算过该项目的规模吗
略。
11.你觉得你还有什么优点我没有问到的,或者你有什么问题想问的
就是问了监控系统那题有没有什么解决方案。
感想
二面默认你的基础过关,从项目出发,感觉是不断充实原项目,设计架构的感觉。