We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
最近在智联上刷新了简历,然后好多电话打过来,南大先腾应该算是最先打来的,虽然项目紧张,但是也想看看自己在市场上几斤几两吧,遂约了面试,不过由于项目忙,约到了一周后的今天。
由于比预约的10点提前到了,所以填写下资料就直接面试了。一个人事小姐姐和一位前端负责人,技术应该不错。一开始让我讲自我介绍,我话比较多吧,说了下自己的从业经历然后自己又把在公司做的项目大致都说了一遍,然后前端负责人开玩笑说你都把我想问的都说完了。
问的较多的是项目上的内容,比如:
其实这算是后端的东西了,我项目上是这样做的,订单确认页点确认时会先调doorls规则引擎的接口去比对数据是否合规,合规的话才去保存。当然,订单确认页上切花地址或商品时也会去比对数据的,可以近似类比后台管理系统的权限吧,我司做权限都是在调接口前先调一个全局装饰器判断该账户有没有权限的。
<Tabs>
其实这块是给自己挖坑了,我自己不大清楚多几个路由是好是坏,我就说了当时老板说的多路由影响性能什么的,这块我还真不懂。他说,多路由不会影响的,我也不知道对不对,但是他说用<Tabs>组件的话主要方便传参,这点我挺认可的,虽然mixin里面业务逻辑代码也挺多的。
mixin
这个我就有点朦了,因为我们确实是把业务代码写进去,但是除此之外就没别的了,我不大清楚他想问什么,我得去查查mixin。
其实这是面试必考题。但是吧,我项目中真没用过。我也如实回答了,我一般用那种ui框架,但是有了解过,说了一下水平垂直居中可以用flex。
flex
这个我倒是了解过,但是说岔了,扯到左边div固定宽度,右边自适应。幸亏后来圆回来了,比如父元素定宽高,子元素absolute,然后上下左右值为0,margin: auto;。还有子元素宽高设为50%,然后利用transform: translate(-50, -50);。其实还有别的方法,但是一般你能答出三个及以上就可以了。 可以看学习库:https://github.com/lizhongzhen11/myStudy/blob/master/css/center.html
div
absolute
margin: auto;
transform: translate(-50, -50);
我说bfc,左边浮动,右边margin-left就可以了。还有一种弹性布局,左边浮动,右边flex: 1。这里给自己埋坑了。。。 还有其他实现可以看我的这个学习库:https://github.com/lizhongzhen11/myStudy/blob/master/css/rightSelfAdaption.html
margin-left
flex: 1
这个真不会。这块是薄弱点。
这个理论型的我没背,我只知道bfc,中文名都叫不出,但是说了下实现的方式,比如浮动,float不为none;overflow不为visible;position不为static或relative(这里我说成了fixed,说错了,记忆有偏差啊)还有display: inline-block;inline-flex;table-cell等,只记得这么多。 可以看W3CPlus:https://www.w3cplus.com/css/understanding-block-formatting-contexts-in-css.html
float
none
overflow
visible
position
static
relative
fixed
display: inline-block;inline-flex;table-cell
我说这涉及到css盒模型了,具体原因不大清楚,但是应该跟bfc有关。。。后来一想,这应该是涉及到文档流了。。。
我说看过一些,比如observer,实话,真看过,但没复习,他问我那些dep,watch还有observer这三个怎么个彼此依赖?
observer
dep
watch
哇,这样问法很让我措手不及啊。 我说这样吧,我从日常开发角度来说,比如平常打印时,我们都能看到有个__ob__属性吗,我当时就好奇它从哪来的?去看了源码发现,它是先判断有没有监听这个属性,没有的话调用utils(尴尬了,是util文件夹下的lang.js)里面的dev方法(尴尬了,是def!!!)去给对象设置一个__ob__属性,通过Object.defineproperty()。
__ob__
utils
dev
def
Object.defineproperty()
然后,它双向绑定其实是利用了defineReactive这个方法,该方法内部也是调用了Object.defineproperty去重写了对象属性的get和set方法,实现的监听。
defineReactive
Object.defineproperty
get
set
最后,当我们去修改一个对象时,vue不会立即去刷新页面,而是先收集依赖,然后放在nextTick里面去执行。我特地去看了下nextTick,当时就觉得它的源码很奇怪,也是在这里知道了microtask(微任务)和macrotask(宏任务),因为源码里一开始先去判断有没有setImmediate,没有的话去判断有没有MessageChannel,如果都没有就用setTimeout作为宏任务。
nextTick
microtask
macrotask
setImmediate
MessageChannel
setTimeout
我还说了,注释中作者讲解说以前都是默认用微任务的,但是发现有一些bug,遂采用了宏任务,不过可以特定情况下切换使用微任务,微任务用new Promise实现得(回来看了下源码,应该是Promise.then()才对,单纯的new Promise依然是宏任务)。
new Promise
Promise.then()
然后技术面就没了,接下来和人事谈,说3个工作日给答复,不过我要的可能相对南京来说比较高吧。。。
最近几天github好像抽风了,登上去卡卡的,要打开半天。我在另一个知识点库进行学习呢!我联通手机访问无压力,公司电信网和住的地方电信网访问都卡的不行,有时候直接刷不出来。
其实昨天下午就有反馈了,但是太卡。
打电话跟我说8.5K,4.5K基本,4K绩效,每月200车补,每天10元餐补。加起来税前才8.9,没达到我最低要求9K(其实心里最低要求10K)。所以只好婉拒了,等8月正式离职,9月就来了,到时候看看。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
最近在智联上刷新了简历,然后好多电话打过来,南大先腾应该算是最先打来的,虽然项目紧张,但是也想看看自己在市场上几斤几两吧,遂约了面试,不过由于项目忙,约到了一周后的今天。
过程
由于比预约的10点提前到了,所以填写下资料就直接面试了。一个人事小姐姐和一位前端负责人,技术应该不错。一开始让我讲自我介绍,我话比较多吧,说了下自己的从业经历然后自己又把在公司做的项目大致都说了一遍,然后前端负责人开玩笑说你都把我想问的都说完了。
问的较多的是项目上的内容,比如:
1.我提到了雀巢水用过doorls规则引擎,他让我大概的讲一下。
其实这算是后端的东西了,我项目上是这样做的,订单确认页点确认时会先调doorls规则引擎的接口去比对数据是否合规,合规的话才去保存。当然,订单确认页上切花地址或商品时也会去比对数据的,可以近似类比后台管理系统的权限吧,我司做权限都是在调接口前先调一个全局装饰器判断该账户有没有权限的。
2.问我项目上列表页和详情页为什么不分别用两个路由,而是用iview的
<Tabs>
组件来切换?(我目前开发的项目由于用到不少列表页和详情页,所以一开始老板就要求两个页面用一个路由,所以我们选择了<Tabs>
组件,自我介绍时有跟他说过,所以他比较好奇)其实这块是给自己挖坑了,我自己不大清楚多几个路由是好是坏,我就说了当时老板说的多路由影响性能什么的,这块我还真不懂。他说,多路由不会影响的,我也不知道对不对,但是他说用
<Tabs>
组件的话主要方便传参,这点我挺认可的,虽然mixin
里面业务逻辑代码也挺多的。3.由于我提到了项目上用到
mixin
,他问我除了把业务方法写进mixin
里面,还在里面写了啥?这个我就有点朦了,因为我们确实是把业务代码写进去,但是除此之外就没别的了,我不大清楚他想问什么,我得去查查
mixin
。4.然后就是一些技术了,比如用过弹性盒模型吗?
其实这是面试必考题。但是吧,我项目中真没用过。我也如实回答了,我一般用那种ui框架,但是有了解过,说了一下水平垂直居中可以用
flex
。5.刚刚说了用
flex
可以解决水平垂直居中问题,他就接着问有其他实现水平垂直居中方法吗?这个我倒是了解过,但是说岔了,扯到左边
div
固定宽度,右边自适应。幸亏后来圆回来了,比如父元素定宽高,子元素absolute
,然后上下左右值为0,margin: auto;
。还有子元素宽高设为50%,然后利用transform: translate(-50, -50);
。其实还有别的方法,但是一般你能答出三个及以上就可以了。可以看学习库:https://github.com/lizhongzhen11/myStudy/blob/master/css/center.html
6.由于上一题说岔了,扯到左边定宽,右边自适应,随后就问了我有什么方法实现?
我说bfc,左边浮动,右边
margin-left
就可以了。还有一种弹性布局,左边浮动,右边flex: 1
。这里给自己埋坑了。。。还有其他实现可以看我的这个学习库:https://github.com/lizhongzhen11/myStudy/blob/master/css/rightSelfAdaption.html
7.直接说
flex: 1
是三个属性简写,哪三个属性,说下用处。这个真不会。这块是薄弱点。
8.由于说了几次bfc,就问我什么是bfc?
这个理论型的我没背,我只知道bfc,中文名都叫不出,但是说了下实现的方式,比如浮动,
float
不为none
;overflow
不为visible
;position
不为static
或relative
(这里我说成了fixed
,说错了,记忆有偏差啊)还有display: inline-block;inline-flex;table-cell
等,只记得这么多。可以看W3CPlus:https://www.w3cplus.com/css/understanding-block-formatting-contexts-in-css.html
9.还有一个涉及到文档流的,我回答错了,就是浮动元素为什么会溢出
div
?我说这涉及到css盒模型了,具体原因不大清楚,但是应该跟bfc有关。。。后来一想,这应该是涉及到文档流了。。。
10.主要是css,js就问了有没有看过源码?
我说看过一些,比如
observer
,实话,真看过,但没复习,他问我那些dep
,watch
还有observer
这三个怎么个彼此依赖?哇,这样问法很让我措手不及啊。
我说这样吧,我从日常开发角度来说,比如平常打印时,我们都能看到有个
__ob__
属性吗,我当时就好奇它从哪来的?去看了源码发现,它是先判断有没有监听这个属性,没有的话调用utils
(尴尬了,是util文件夹下的lang.js)里面的dev
方法(尴尬了,是def
!!!)去给对象设置一个__ob__
属性,通过Object.defineproperty()
。然后,它双向绑定其实是利用了
defineReactive
这个方法,该方法内部也是调用了Object.defineproperty
去重写了对象属性的get
和set
方法,实现的监听。最后,当我们去修改一个对象时,vue不会立即去刷新页面,而是先收集依赖,然后放在
nextTick
里面去执行。我特地去看了下nextTick
,当时就觉得它的源码很奇怪,也是在这里知道了microtask
(微任务)和macrotask
(宏任务),因为源码里一开始先去判断有没有setImmediate
,没有的话去判断有没有MessageChannel
,如果都没有就用setTimeout
作为宏任务。我还说了,注释中作者讲解说以前都是默认用微任务的,但是发现有一些bug,遂采用了宏任务,不过可以特定情况下切换使用微任务,微任务用
new Promise
实现得(回来看了下源码,应该是Promise.then()
才对,单纯的new Promise
依然是宏任务)。然后技术面就没了,接下来和人事谈,说3个工作日给答复,不过我要的可能相对南京来说比较高吧。。。
后续
最近几天github好像抽风了,登上去卡卡的,要打开半天。我在另一个知识点库进行学习呢!我联通手机访问无压力,公司电信网和住的地方电信网访问都卡的不行,有时候直接刷不出来。
其实昨天下午就有反馈了,但是太卡。
打电话跟我说8.5K,4.5K基本,4K绩效,每月200车补,每天10元餐补。加起来税前才8.9,没达到我最低要求9K(其实心里最低要求10K)。所以只好婉拒了,等8月正式离职,9月就来了,到时候看看。
The text was updated successfully, but these errors were encountered: