背景
暑假想找一份实习,碰巧看到了学长的搜狐内推,就把自己的没有诚意的简历投了过去,过了一个多星期收到了电话面试的邮件(十分怀疑是学长面子比较大)。
问题
这里只挑几个重点的问题记录一下(我记得的..)
React和Vue
相同点
- 都使用了
Virtual DOM
- 组件化
不同点
React
使用JSX
渲染页面,Vue
使用简单的模板React
不是MVVM
,而Vue
是,拥有双向数据绑定,允许插值表达式React
中只能用setState
修改状态,Vue
中可直接修改data
React Native
与Weex
Promise
Promise
本质是一个状态机。每个promise
只能是 3 种状态中的一种:pending
、fulfilled
或rejected
。状态转变只能是pending
->fulfilled
或者pending
->rejected
。状态转变不可逆then
方法可以被同一个promise
调用多次then
方法必须返回一个promise
。规范里没有明确说明返回一个新的promise
还是复用老的promise
(即return this
),大多数实现都是返回一个新的promise
,而且复用老的promise
可能改变内部状态,这与规范也是相违背的- 值穿透
这里还问了一下具体实现,我只答上了nextTick()
上面这几个问题我只答上了部分... 感觉自己水平还是不够
原型链
举个例子: 在一个对象上寻找成员的时候,如果没有找到就继续顺着proto
往上找,如果最后没找到就报错(直到Object.prototype
) balabala...
继承
原型链
// B 继承 A
B.prototype = new A()
复制代码
Class
class B extends A{
constructor(props) {
//调用实现父类的构造函数
super(props);
}
}
复制代码
Undifined 和 Null
这是Js的两个基本类型..balabala..
什么时候这两者会出现?
Undifined
是未赋值..当你定义了一个变量但是没赋值,或者像是变量提升这种balabala..
Null
在我看来是一个指向Object的指针..因为Typeof Null = Object
balabala...
面试官: 那什么时候Null会出现?
我TM竟然没答上来..当时心里就是一阵凉凉,后来我一想Null
不就是没赋值的引用类型么..
读过什么源码么
读过React
的setState
和Node
的setImmediate
... 但是考虑到自己水平问题这里就一笔带过了..然后嘴欠提了句感觉读源码对自己现阶段帮助不大,面试官还问了问为什么,我又好不容易圆回来23333
你使用的Html5和Css3新特性
HTML5
audio
,video
,canvas
,datalist
..
Canvas
用的比较多,用其模仿过草莓音乐节的宣传视频动画 datalist
在懒加载的时候有经常用..
CSS3
选择器,Animation
,Transition
,Transform
...
然后让我描述了一下看见一个动画如何去实现它..balabala..
我觉得没人能完全答上来所有的...主要还是说一下自己用的比较多的
总结
面试方面
面了大约40-50分钟左右,技术点自我感觉扯上了80%左右,没答上的也尽量扯一点(除了一些自己真的听都没听过的)。感觉问的技术面不是很广(可能因为是实习生),原生方面问的比较多..但是没问一些更深入一点的,自己比较擅长的Css和React方面也问的比较少(难过),浏览器和Http方面没问,整体来说面试难度不大..可能考虑到我只是个大二来实习的?
自己方面
人生第一次电话面试..全程紧张,大脑间歇性暂时性空白,许多自己会的没有完美地答出来很遗憾,自己会的想表现出来的没问也有点遗憾,其中还有几次尴尬的寂静(最怕空气突然安静),不出意外自己应该是凉了QAQ。
但是想想自己大二还有时间补救,赶紧把这篇博客整理出来反思一下自己,诸君共勉吧~
一些补充
- 这篇文章好像省略了绝大部分问题(我真的记不起来了)
- 后来Leader又问了我许多项目相关的问题,但是请看下一条
- 本文只记录了我记得的中认为有价值(其实是我觉得可以写出来的)的问题
- 面试官还是不错滴
- 本文比较适合找实习工作的小萌新
- 本文随我的记忆实时更新..
结果
说好一个星期内回复,但是到现在也没有,估计是凉了,感觉态度很差,包括面试前面试官迟到,让我对搜狐印象大打折扣