今日头条前端面试-2018.03.23

不出意外,今天头条一面就被刷了。也正是这次面试,让我真正明白了自己弱点在哪里。哎,时间还有,好好学习天天向上!接下来就总结一下我遇到的这些问题吧。
整次面试40多分钟,深深的受到了来自大佬的打击。
(OS:找个实习真的难…)

你有没有拿到其他公司的offer

没有….这是我第一次正式面试。

你学习的技术栈

我就扯了扯,html,css,JavaScript,jquery,react,webpack,react-native,node。。。

金额转换的问题

说实话,刚开始看到算法题的时候就很慌….自己算法本来就差…想了一个思路结果被面试官说我这个思路不行…
代码有时间再贴出来吧…

2018.03.30更新:
参考链接:https://juejin.im/entry/5abb5b39f265da23830af129

function toS(num){
    let reg = /(?=(\B\d{3})+$)/g; ///B表示匹配非单词边界的元字符,而/b表示匹配单词边界
    console.log(num.match(reg));
    console.log(num.replace(reg,","))
}

toS(1000000000+"");//1,000,000,000
数组去重的问题

面试官看到我第一个算法题做的不够理想,于是就问了我第二个问题。这个我直接回答的是:利用set集合做…面试官说不要这样,用原生的试试。我就老老实实的说,那就遍历这个数组吧。每遍历一次,就去掉重复的数据,依次往后遍历。面试官又说这个时间复杂度太高了….好吧,我还是没有想法。
后来听同学说可以用排序算法做,在排序比较的时候去除重复的元素…最快可以是nlogn。后悔当时怎么没想到…

大数相加问题

好吧,前面算法题都不够理想。又来了一道大数相加的问题。我勒个擦,以前好像看过这一个题目忘了具体怎么做的了。脑子里想的是对齐两个数的位数,然后相加进位这样子…面试官好像不太满意。又gg。到这里我就觉得这个面试怕是要凉了。

JS的数据类型

面试官可能看到我算法太差了,就转过头来问了问JS的基本数据类型。嘿,这个我会:number,boolean,string,undefined,null,object,symbol。

JS中基本数据类型和引用类型在内存上有什么区别?

这个…这个…,我弱弱的说JS中我不太清楚,但是Java中引用类型一般是存在堆区的….好吧面试官就直接说,JS和Java是不太一样的…妹的,又不会。

tostring和valueof有什么区别

后来面试官问我,undefined==null吗?我说是的true,又问为什么。我说,==导致了两边对象进行了隐式数据类型转换,都变成了number类型的,这里两边都变成了0,所以返回true。
然后面试官就往深层次问了:[0]==0?
what???我知道[]==0是true,但是[0]==0??,我想[0]是数组对象,强制转换的时候会调用它的valueof方法,这里应该是返回0,两边应该相等吧…结果我并没有相信自己…就弱弱的说了句返回false吧。。。面试官后来都提示我了valueof返回的是什么?噗….
我说如果是对象的话会调用tostring然后转换成number进行比较,而数组对象则是valueof。。。
于是就问了我tostring和valueof的区别,很显然我答不上来。又gg一波。

2018.04.08更新:
valueof是返回最适合该对象类型的原始值,而tostring则是返回对象的字符串表示。

position的值

看来面试官心里有个底了,于是就开始问我css中position的取值有哪些。
嘿,这个我还是能回答的。
“relative,static,absolute,sticky,fixed,initial,inherit,unset”。。。
面试官问我了,说absolute是相对哪个元素定位的?我依稀记得是相对不为static的元素定位的,但是不太确定。就说了相对父级元素中最近的relative定位。面试官好像不太满意我的回答…
然后又问了我unset有什么作用,OS:我没用过啊…,回答不知道。

2018.04.08更新:
unset是initial和inherit的组合值…哪个属性有值就是哪个

谈一谈你对浮动的理解

ok,这个我还是会一点的。就说了浮动时高度塌陷,为了避免这个问题可以使用伪元素清除浮动,或者使用BFC容器。
好吧一提到清除浮动,面试官就问我了解过.clearfix这个类吗?
我说用过。
看过源码吗?
没有。

2018.04.08更新:

.clearfix:before,.clearfix:after {
  display: table;
  content: " "
}

.clearfix:after {
  clear: both
}
浏览器这块,了解过GC吗?

了解过一点,像JS的话就是利用标记清除法来回收内存的。然后就说了什么情况下添加标记,什么时候去除标记。
“你谈谈如何给对象添加标记”
what???我快崩溃了,这个还真没了解过。

2018.04.08更新:
反转特殊位或者添加对象列表

最近webpack的新版本有什么新特性

这个问题我直接就直接说课程太多,没了解过…面试官表示理解。

谈谈HTTPS

我说了它的默认端口号为443,能够建立可靠的安全的信息通道,能够更加快速的传递数据…面试官好像不太满意.

谈谈CDN加速

我说,这个是选择最近的节点返回资源…
面试官说怎么选择?有什么算法?
我…依稀记得计算机网络组成原理这门课上有讲,已经忘了…只好吐了吐舌头:又不知道了.

除了高程外还看过什么书吗?

我说看的那些教程算不算?
不算?
ok,那没有看过。

好的,你有什么问题问我的吗?

面试官您好,这次我的面试是不是非常糟糕啊…
面试官笑了,他笑了…
他说,还是建议你多看看JS高程…

完了,下午就收到拒信了。学习算法去,这个是硬伤!

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值