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

vivo外包面试 #10

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

vivo外包面试 #10

lizhongzhen11 opened this issue Jul 21, 2018 · 0 comments

Comments

@lizhongzhen11
Copy link
Member

lizhongzhen11 commented Jul 21, 2018

说明

前两天软通的人联系我,说想把我推到vivo做外包,我想拒绝,我想成为正式员工好不?
但是,他说是vivo员工面试我,我立马答应了。毕竟正式员工,水平应该很高吧,又可以找自身不足了。所以约到周六下午三点电话面试,因为人在老家。

过程

下午3点多,电话打来了,全程37分钟,面试官很和蔼,感觉像兄弟一样聊天。技术问题不多,因为他是做浏览器内核的。

列出问题吧:

1.看到我写了关于闭包的博客,让我说下。

其实那个是我从stackoverflow翻译过来的,因为之前自己一直觉得闭包云里雾里的,看了那篇文章和里面的示例豁然开朗的感觉,但是让我全部说出示例那估计有点难,全文蛮长的,不过面试官没有让我背书,直接问我在工作中是否用到。
我想了想,九龙湖验证数字我就用到了闭包。是的,没用正则,我也坦白,我正则不行。所以就写函数去判断,low是low了点,但是确实锻炼了自己。
其中提到了判断时我一开始用到的是parseFloat,后来测试发现parseFloat('1a')居然是1,这样肯定不行,所以我在这里踩了坑。
然后给我自己埋坑。

2.你有研究过parseFloat('1a')为什么是1吗?它的原理是什么?

说实话,我当时找过这个问题答案,但可惜,没找到讲的好的,也就没记住。
好尴尬。
看了下MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseFloat

parseFloat将它的字符串参数解析成为浮点数并返回.如果在解析过程中遇到了正负号(+或-),数字(0-9),小数点,或者科学记数法中的指数(e或E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数.同时参数字符串首位的空白符会被忽略.

3.问我vue的理解(开放性问题)

4.看我博客基本上都是关于js的,html和css这块呢

我也说了公司业务基本现状,都是确定好ui框架然后开发,很少需要自己去写特别的样式。
不过我也说了,老板曾经让我自己写一个进度条,在我github上。因为项目目标人群大多年纪较大,老板觉得iview那种进度条太简洁不符合他们欣赏风格。
这个进度条带有渐变色,其实有两个进度条构成,下面一个背景是灰色的,上面是渐变色的,然后渐变色的盖住背景灰色的。

5.问我js这种脚本语言和java,c,c++等语言对比,有没有觉得性能上不好

老实说,听到这个问题我有点懵。因为java也只是接触写过而已,但是得硬着头皮答。
说了下我的理解,首先从js设计之初说,毕竟一开始就是为了在浏览器运行的脚本语言罢了,然后说了它是弱类型的,可以隐式转换,java必须显式强转等。
面试官也说,这点你说的对,js由于内部会进行类型转换,一定程度上降低了性能。

然后

然后,好像没什么问题了。
最后问我为什么想离职。

我说了我对未来的看法,毕竟生于忧患,死于安乐。在小公司呆久了,慢慢钱会涨上去,但是,活所用到的技术要求并不高。那么等我合同到期时,老板会不会和我续签呢?

那时候我30岁左右,因为公司业务项目基本上没什么太强技术,业务限制了技术的使用,即使自己再怎么自学,没有一个大平台,那些深一点技术可能永远都用不到,一个用不到的技术,无论学的多认真都是存在隐患的,因为没有实战啊。

那么当我30岁,老板也是技术出身的,他心里知道我技术会是什么水平,他还愿意继续每个月给我1W多让我继续干还是找工作半年到1年的给个8K就能干活的?

技术达不到价格对应水平,那么结局要么降薪要么被开除。

前端组一面

周六面完结束反馈说不错,只是面试官是做内核的,这就有点尴尬了。
不过面试官挺欣赏我的吧,我也很感激他。
他帮我内推到了vivo的前端组,据说前端组人招满了,没有名额的,但是愿意给我机会让我面试,从这点来看,vivo真好啊!
感恩vivo!

避免文章过长,直接放题吧:

1.数组最快清空

长度设0

2.数组去重

看牙羽博客:mqyqingfeng/Blog#27

3.数组排序以及sort方法的缺陷

看MDN

4.数组内有null和undefiend,能排序吗

当时没敢肯定,但是说了sort根据unicode码排序,如果他们有对应的unicode码,那么就能排序。
现在测试了下,应该是可以的。null排在undefined前面。
想了解更深的去看unicode码表

5.数组删除指定下标元素

splice
也回答了设为null,但是自己否定了,因为只是值改变了,长度没变
网上找了下,还有delete关键字,但是删完元素变为empty,长度依然没变

6.数组的高阶方法以及forEach中return为何跳不出

看我博客:lizhongzhen11/lizz-blog#3

7.原型链

8.原型继承

9.深浅拷贝

10.Promise指定时间调用

11.事件委托

12.一个div内部有一个圆形区域(子div),点击圆形区域有事件,其他区域无事件调用,如何实现

其实考的是阻止事件冒泡
记的preventDefault()

13.css编码规范

没听过。
现在百度下感觉他问的可能是 mdo

14.css选择器权重

15.css盒模型

16.行内样式和 !important 优先级

17.外边距折叠

18.BFC

大概这么多吧,接下来还有二面,加油吧,骚年!

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