最近面试中遇到的问题总结(2017/5/12)

先说点背景吧~

  最近一直在boss直聘和51job上投简历,面试了很多家总是没合适的,感觉最近生活进入了黑暗的时候,每天面试回来饭都不吃,就傻傻的干坐着,也不知道该干点啥,以后能干点啥。

  好吧,不说了,赶紧进入正题吧。

  面试中遇到的提的最多的几个问题

  1.chrome浏览器对小于12px以下的字体不支持,你遇到这种情况怎么办?

   (1)对要使用更小字体的标签设置chrome自家的属性 -webkit-text-size-adjust:none;

      问题:1,-webkit-text-size-adjust:none;设置在body上会导致页面缩放时,字体不缩放,所以不要把它定义成可继承的或者全局的属性。

         2,这个属性只对Chrome 27.0版本以下的有效,27.0以上的无效。(。。。)

         3,只对英文有效,对中文无效。

    (2)小于12px的文字使用图片。

    (3)有效可用的方法:使用css3中的一个方法:transform:scale(0.875);

      问题:使用transform:scale(0.875);时,不仅文字变小了,整个文字的容器也同时变小了。

  2.一个行内元素span,浮动之后其display属性值是什么?

  答:元素之前不论是blcok的还是inline,浮动之后的都是block;

  3.有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满余下的高度,应该怎么做?(就是希望第二个div高度可以随外层的div高度变化而变化)

  答:(1)假如外层div的高度自适应于内部,就完全不用写了,第二个div绝对能撑开外层的div;

    (2)如果外层div自适应于它的父级,可以这样做:1,外层div设置box-sizing:border-box;/*宽高包括盒子的内边距和边框*/同时设置 padding:100px 0 0 0;/*外层div上面留出100px高的空间*/

2,内层第一个div,向上移动100px(使用absolute);第二个div设置 height:100%;

  4.ajax你掌握的程度如何,ajax中loading功能你是怎么做的?

  答:ajax我会基本的增删改查,从后台读数据,向后台传数据。原生的不会写,会使用jquery封装的方法。

loading的显示原理:发送请求之后接收到服务器返回的信息之前显示loading信息(可能是一个转啊转的GIF图,或一段文字),接收到服务器的返回信息后把loading清掉;

jQuery的ajax有一个beforeSend属性,可以给他一个方法显示loading信息;

例子:$.ajax({

    url:'demo.html',

    type:'POST',

    data:({name:'deng',location:'SH'}),

    beforeSend:function(){

        $("#id").text("loadding....");//添加loading信息

}

    success:function(){

        $("#id").text("");//清掉loading

}

});

5.ajax是如何向后台传参数的?(参考地址 http://blog.csdn.net/ailo555/article/details/48859425)

(1)第一种方法:(通过url传参)

function GetQuery(id) {
     if (id ==1||id==7) {
         var name = "语文";
         $.ajax({
             url:"../ajaxHandler/ChartsHandler.ashx?id="+id+"&name="+name +"",
             type: "get",
             success: function (returnValue) {
                 $("#cId").val(returnValue);
             },
             error: function (returnValue) {
                 alert("对不起!数据加载失败!");
             }
         })
     }
}

(2)第二种方法:(通过data传参)

function GetQuery(id) {
     if (id ==1||id==7) {
         var name = "语文";
         $.ajax({
             url:"../ajaxHandler/ChartsHandler.ashx",
             type: "get",
             //获取某个文本框的值
             //data: "id=" + id + "&name=" + $("#name").val(),
             data: "id=" + id + "&name=" + name,
            // 或者(注意:若参数为中文时,以下这种传参不会造成后台接收到的是乱码)
             //data: {
             //    "id": id,
             //    "name": name
             //},
             success: function (returnValue) {
                 $("#cId").val(returnValue);
             },
             error: function (returnValue) {
                 alert("对不起!数据加载失败!");
             }
         })
     }
}

  6.怎样延时加载js?

1,async:<script async src="myscript.js" onload=""></script>

2,defer:<script defer src="myscript.js" onload=""></script>

3,写个定时器,setTimeout(function(){},5000);//5s后执行函数

  7.angularJS是怎样实现双向数据绑定的?

  答:http://www.cnblogs.com/jingwhale/p/5117419.html

  8.angularjs的router是怎么写的?

  答:http://www.cnblogs.com/ys-ys/p/5052660.html

  9.angularjs中指令作用域是怎么设置的?

  答:https://segmentfault.com/a/1190000002773689

posted @ 2017-05-12 17:57  picker4  阅读(145)  评论(0)    收藏  举报