这个面试官真的我哭死, 他真的太温柔了, 我写这一段赞颂他真不过分.
他的温柔包括但不限于:
- 开场就让我放松, 说不用紧张
- 夸我视频里比证件照好看
- 都是山东老乡, 听声音套近乎
- 在我回答的时候不断给予认同
- 如果觉得他描述的不太准确, 他会继续用代码的方式举例子
- 如果我不了解某个知识点/回答的不太确切, 他会给我敲代码/画图讲一遍
- 出个题还要跟我一起做
- 算法题我正在苦思冥想改 bug 的时候, 他说不要紧张慢慢写, 没有时间限制, 只要我不说放弃他就在这等着
正式开始:
- 放轻松~自我介绍一下
- 使用过 TS 哈(基于简历)
- 说一下强弱类型语言的区别和优劣势 √
- 问我算法基本都是用什么写的 -> C++
- 关于类, 关于访问控制(修饰符), 说说他们四个的区别 半 √
- 面试官举例讲解: private 在继承的子类中也不可以被访问, protented 在继承的子类中可以被访问
- JS 中的数据类型
- 基本数据类型和引用数据类型的区别 √
- 举例: 浅拷贝一个引用之后, 修改原值, 被拷贝的值也会被修改 √
- JS 中的数组 API -> map, foreach, reduce (紧张了就答到这)
- 那就基于我说的这三个, 说说 map 和 reduce 的区别 √
- 使用 reduce 实现[1,2,3,4,5]转化为"1-2-3-4-5" √ (框架都给我写完了, 光让我补充函数内容, 还说跟我一块写)
- 介绍一下同源协议和目的 √
- Nginx 能不能解决跨域? 原理? 基本 √
- 我以为的: 页面前端 --(同源不跨域)-> 网站服务器 --(服务器之间无跨域问题)-> 目标服务器
- 面试官画图解释: 浏览器拿到 html, 解析到请求 -> 页面前端发送请求 -> Nginx 服务器根据配置文件里面的服务器地址转发请求 -> 目标服务器
- 说一说 HTTP 和 HTTPS √
- 我说了一下非对称加密和对称加密, 秘钥传输过程
- 因为没说到证书, 面试官说看我部署过网站, 问我是不是 HTTPS, 意识到问题的我补充了公私钥和证书在里面的作用
- 算法题:
- 找了一个中等难度的, 通过率 50%
- 将一个数字字符串转化为合法 ip 地址的格式, 给出所有的可能, 例如: 25525511135 -> ["255.255.11.135", "255.255.111.35"]
- 大概写了 40 分钟, 用 C++写的, 他说用 JS 更简单(也可能他不太用 CPP 写算法). 想了几分钟之后开始写 DFS, 写完统计方案数的解法之后, 才发现题面要求输出所有可能, 然后又在改 bug, 因为电脑没插电到最后也就10%了, 更紧张了. 改了半年才发现字符串转数字的工具方法写的有点问题, 以及中间一堆边界值问题, 好歹也是写出来了
- 反问(可能时间太久了面试官差点忘了这个环节)
- 我问我这不是正式吗, 我一开始的时候听他说是实习所以放轻松就行(他是真的很想让我放轻松哈哈哈哈), 他说没有, 应该就是秋招正式, 这些问题可能二面会说.
- 说可能明后天就会有人联系我(这要是挂了, 我直接搁天台哭)