Skip to content
New issue

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

南京每天文化传媒电话初面 #9

Open
lizhongzhen11 opened this issue Jul 19, 2018 · 0 comments
Open

南京每天文化传媒电话初面 #9

lizhongzhen11 opened this issue Jul 19, 2018 · 0 comments

Comments

@lizhongzhen11
Copy link
Member

lizhongzhen11 commented Jul 19, 2018

说明

还是面完东软外包的今天,此时也面完苏宁外包电话初面了,正和朋友在吃烤肉聊天,突然打了个电话过来,说问我有没有时间,想了想面吧,看看出什么样的题目,能不能学到东西。
面试官有点底气不足,可能比较年轻的,但是估计懂得也不少,但是全程提问有点发颤的问我,搞得我面试他似的。。。。。。

过程

1.flex

2.父子组件传值

3.组件注册

component。不知道这题意义在哪。

4.一个页面上引用了两个子组件,但是第二个子组件中的属性依赖于第一个子组件

当时没明白为啥会有这情况。他解释说比如两个输入框,第二个输入框的值依赖于第一个输入框,第一个输入框输入值第二个跟着变。
我直接说v-model,这样的场景用双向绑定再适合不过了。
当然,我也告诉他,子组件会先于父组件挂载。
这个我还得研究下什么意思。
2018-07-20补充
我早上研究了一下,大概知道他什么意思了,他其实想问的是两个子组件之间的通信。
我第一想法是vuex,之后又去找了下有没有其他方法,果然找到了。利用$emit()$on()方法。
之前一直以为$emit是父子组件专用,现在才知道不是的。但是两个非父子组件间进行传值的话必须在同一个vue实例上调用$emit以及$on,不然你怎么监听到。
demo:

// 假定newVue.js,A.vue以及B.vue在同一文件下
// newVue.js
import Vue from 'vue'
export default new Vue()
// A.vue
import Vue from './newVue.js'
mounted () {
  Vue.$emit('test', 110)
}
// B.vue
mounted () {
  Vue.$on('test', function (mes) {
    console.log(msg)
  })
}

之后

约我周五晚上去面试,不用说了,去面试,但是不管过不过都不去上班,晚上还加班加上周六也加班,比我现在还坑,肯定不去啊,但是面试官还是要见见的,毕竟应该是个能让我快速定位自己不足的人。

二面

2018-07-20晚上18:30进行的二面。昨天网络差,打不开所以没能更新。
从18:30聊到20:30也是蛮耗时的,期间也问了不少问题,但是大多我没接触过,所以确实不会。
其实,他只是用他业务上接触过的技术来考我罢了。技术或许比我强一些,但是到底达到什么层次就不知了,毕竟当我回答不出来反问他有什么思路时,他只会说你去百度。。。
当然,这个人有点偏激,认为看博客对技术成长不好,应该去看规范,这就仁者见仁智者见智了。规范确实要看,但是js和java不同,js主要依托于浏览器(node不谈),各个浏览器实现规范的方式各不相同,甚至也许可能都不按规范来。

最搞笑的是,跟我说专业的人做专业的事,前端做前端,后台做后台,然后又说目前有一个前端,他也同时做java。。。准备再招一个高级前端。

还有,面试官说自己中软干了半年,然后进了华为,不知真假。但是,从我面试来看,他说话口头表述存在一点问题,应该是紧张,提问时断断续续的或者说不清问题,可能招人次数少吧。

直接上面试题

1.正则

确实不会。薄弱点,一直都知道。

2.css三栏布局

我说了flex,可以的话calc计算属性应该也能。

3.css三栏布局中保证这三个div内部span标签里面的字对齐(因为这三个div内部可能有图片什么的)

我以为要考我BFC,但他说不是,问我之前电商项目会有价格吧,比如¥24,如何让24对齐。
说实话,我真没意识到这个问题,因为貌似之前我在项目里没有加这种特殊符号。没遇到过就很尴尬了,只能说出猜测的答案,我说用line-height,他说line-height也无法保证绝对的对齐,这倒是实话。
现在想来他是不是想考我vertical-align: middle,但是这个属性有点怪,我曾经用过,感觉有时候不起作用,其实是我用的不对,直接给mdn:
https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align

4.问我css3动画有没有做过,还有一个请帖打开的效果

我只用过一次,还是最简单的控制高度的动画,他这个问题要求请帖打开,其实就是向两边打开翻转。我回答用transform,他说还有呢?一个transform能实现吗?
这我就确实不知道了。

5.盗取其他网站图片,但是该图片加了防盗链怎么盗取?(涉及到跨域)

我自己曾经有一次为了好玩,试video标签时想去B站拿大熊猫视频的,但是我发现我直接用他的视频地址用不了,当时还觉得奇怪呢,有人跟我说抓包,我也没深究,就去用了W3C提供的视频了。
可惜了,应该深究的,不然这题就不是问题。
看:
https://zhuanlan.zhihu.com/p/37930991
https://zhuanlan.zhihu.com/p/33359713

6.js异步操作,说说es6的异步api

我说了generator,asyncawait,然后就卡壳了,忘了Promise。尴尬。

7.说说generator和await/async的区别

还真没研究过。
只是说了generator是惰性求值的体现,await/async没用过。

8.事件模型

这个术语我应该听过,但就是想不出来,我以为他要问我事件循环,后来百度才知道,他想问的是DOM0和DOM2,也包含我们常说的事件冒泡和事件捕获,这就很尴尬了,换个术语去问我就把我问住了,可见理解不深。

9.es6Module规范和AMD,CMD以及CommonJS规范

规范了解的不多,只是把网上收集到的一点知识说了下,但是他问我AMD中文名是什么或者全称是什么,卧槽,真不知道。
问我AMD,CMD以及CommonJS用在哪里?
我说AMD是require.js推广时出现的。CMD是阿里的玉伯推广sea.js出现的。至于CommonJS,webpack对它有原生的支持。
然后他摇头。。。

10.ajax实现同步

我几乎从来没用原生ajax去调接口,所以对ajax各个属性不是很熟,之前收集了一些文章,但是没用过不理解,所以即使是背也很容易忘。
当时只记得调用open时第三个参数一般传true,但是没敢说。
现在查了下,果然就是,太基础了,基础到你根本不想去了解,恰恰证明我的基础贼差。

11.因为我项目用的axios,问我看过源码没,说说看。

其实我估计他也没看过。我看过,只是当时我太菜,没理解。。。

12.vue有没有自己的动画api

我还真没在意过。
现在看来他想问问有没有用过transition封装组件。
这就很尴尬了,没接触过也没了解过。

13.js算法。实现一个h5小游戏,九宫格,里面全是数字,点一下对应的该格数字加1,只要有三个连着的相等数字,就消除。

说实话,挺复杂的,让我当场想思路真想不出来。
后来我问了他的思路,他说百度,网上多的是。
同时也告诉我,他们公司做的这款小游戏就是拿的github上的代码改了改。
原来不是你从头到尾写出来的啊。。。

快要结束时,说对我不满意,假如公司以初级前端开发招你。。。
我直接打断,不可能。

以上那么多问题,大部分都是我没接触过所以确实不会,没什么丢脸的。我这次面试的根本目的只是想利用面试官的问题去检验我自身水平,之前面试都太水,很容易让我骄傲自满,固步自封,这样是去不了BAT的,就需要类似于今天的面试题,找中大型公司面试,对从业较短的人来说更能鞭策自己成长。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant