最近面试中遇到的问题总结(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

浙公网安备 33010602011771号