回想面试对大伙有点作用的题

原创 hugeannex 随笔 呵呵 3228阅读 2014-08-22 18:59:47 举报

本来有一题写在上一篇笔记的,可不知道为什么没了。两道都是在“去哪儿”网时出的,也是让我挺无语的两道题。
[color=Purple] 1、[/color]
<script>
var a=1;
if(!"a" in window)
{
alert(a);
var a=2;
}
</script>
代码片段 1

问我alert值,我当时看来看去,不执行啊。回答:不执行。
然后面试官把题改成如下:
<script>
var a=1;
if("a" in window)
{
alert(a);
var a=2;
}
</script>
代码片段 2

我说是1,他说是2,你知道不知道预编释之类的,吧啦吧啦。。。不然回去试试。
我觉得他是想这样考的,可不懂得写。
<script>
var a=1;
(function(){
alert(a);
var a=2;
})();
</script>
这里a是undefined

[color=Green](补充,半夜忽然想起来,他应该想考的是这样)
if("a" in window)
{
alert(a);
var a=2;
}
[/color]
[color=SeaGreen]alert值为undefined![/color]

[color=Purple]2、左边固定宽,右边自适应宽。[/color]
这道很多同学都懂,可我发现很多老手犯面试官一样的错误。
我的答案(结构):
<div class="box">
<div class="right"></div>
</div>
<div class="left"></div>
代码片段 3

他说,你这个顺序得left在后面,如果left要在前面呢?
我的结构:
<div class="box">
<div class="left">
</div>
<div class="right">
<div>ddd</div>
</div>
</div>
代码片段 4

他说,还能简化吗?
我说,简单化不了了。
然后他的结构:
<div class="left"></div>
<div class="right"></div>

代码片段 5

看上去是可以,可很多老手和他一样,不知道:
代码片段 6

除非右边没浮动要清除浮动,不然内容就从清除浮动那跟左边栏底部对齐了,也就是ddd这块按理说应该是在右边栏的左上角的,现在它掉下来了。(我描述得不是很好,大伙看效果,前面的我也加上清除浮动的ddd,也是为了和最后这效果作比较)。
我把上面的现象跟他说了,他说,不可能吧。
我说,不信你回去试试。

所以,大伙在做第二题这种情况时,不要简单地想成他那种情况,效果是实现了,可右边一般都很多内容,还有清除浮动等各种效果,所以就出现bug了,我也是改过很多这样的bug才有印象的。

[color=Purple]3、补充一题,今天百度面试的,我也不知道答案。[/color]
前端防XSS注入要过滤些什么?
我答:我平时都是把<和>过滤成&lt;和&gt;
面试官说,还有其它的。
我回来查了一下,也没查出所以然,各位有知道的吗?
我想,双引号也不用过滤啊 ,如是放在属性里的话,如json.title="a\"b",那 dom.title=json.title也不影响啊。

评论 ( 59 )
最新评论
729278592 56F 2015-06-25 16:41:31 59F

var a=1;
    if("a" in window)
    {
        var a=2;
        alert(a);
      
    }
这下才是2,js代码都是从上到下一步一步执行的

前端~人间四月天 56F 2015-05-04 18:00:06 58F

研究滴好细致

hugeannex 56F 2014-09-09 00:52:44 57F

不是阿里巴巴的。

qinxingjun 10F 2014-09-05 17:02:47 56F

第一题在看到你文章之前曾在这网站上的笔试贴里看到过,还想也是其他公司的面试。阿里巴巴的???

qinxingjun 52F 2014-09-05 17:00:50 55F

第二题我也遇到过类似现象,当时就没去想其他方式,多谢大神提出来!收了。

中庸 52F 2014-09-04 17:51:54 54F

这几道在全部面试题中的难易程序是多少?

hugeannex 52F 2014-09-02 23:56:49 53F

谢谢指出。手误,已更正。

海薇 34F 2014-09-02 13:17:15 52F

第二题第一种方法出现水平滚动条。.right要去掉width: 100%;

ErikLiao 34F 2014-09-01 16:12:04 51F

查了一下XSS. 1.输入过滤 2.输出编码 3.cookie加密

yuxiaoming 34F 2014-08-27 13:53:23 50F

mark

yuxiaoming 34F 2014-08-27 13:44:21 49F

mark

pan23fly 34F 2014-08-26 11:08:47 48F

js不存在局部作用域

清泉鸣月 34F 2014-08-26 01:17:57 47F

给个实例学习学习?

hugeannex 34F 2014-08-25 18:33:54 46F

又这是种不实用的。页脚呢?你加个页脚上去,然后让左边栏比右边栏长。。。

marchen 34F 2014-08-25 18:32:12 45F

感觉不用浮动 用定位也能实现.左边固定,右边自适应
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-sc

521fengxiao 34F 2014-08-25 16:31:49 44F

    大师,清除浮动是清楚自己内部的子元素的浮动的,不是其它的。 这个地方的确有点不妥,不应该叫清除浮动,应该叫闭合浮动才对。

hugeannex 34F 2014-08-25 16:21:34 43F

   有点乱扯。。。父元素没设宽度时,你能清浮动?就算你说的是对的,那左边的浮动也没清啊。。。

hugeannex 34F 2014-08-25 16:19:30 42F

   这就像前端,踏上这条路也不知道是对是错,反正走下去就行了。所以没有褒贬。。。你就当是夸你就行了。。

移花香 34F 2014-08-25 16:14:22 41F

无法理解margin-left:-100%......

521fengxiao 34F 2014-08-25 15:58:05 40F

     大师说话太高深,听不出褒贬来。