Web大前端面试题-Day10
1. px和em的区别?
px和em都是长度单位;
区别是:
px的值是固定的,指定是多少就是多少,
计算比较容易。
em得值不是固定的,并且em会继承父级元素的字体大小。
浏览器的默认字体高都是16px;
所以未经调整的浏览器都符合: 1em=16px;
那么12px=0.75em, 10px=0.625em
2. CSS 去掉inline-block元素间隙的几种方法?
间隙是怎么来的:
间隙是由换行或者回车导致的;
只要把标签写成一行或者
标签直接没有空格,就不会出现间隙;
怎么去除?
方法1:
元素间的间隙出现的原因
是元素标签之间的空格,
把空格去掉间隙自然就会消失。
<div class="itlike">
<span>撩课itlike</span>
<span>撩课itlike</span>
</div>
方法2:
利用HTML注释标签
<div class="demo">
<span>撩课itlike</span><!-- -->
<span>撩课itlike</span></div>
方法3:
取消标签闭合
<div class="demo">
<span>撩课itlike
<span>撩课itlike
<span>撩课itlike
<span>撩课itlike
</div>
方法4:
在父容器上使用font-size:0;可以消除间隙
<div class="demo">
<span>撩课itlike</span>
<span>撩课itlike</span>
<span>撩课itlike</span>
<span>撩课itlike</span>
</div>
.demo {font-size: 0;}
3. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
伪数组(类数组):
无法直接调用数组方法,
length属性有什么特殊的行为,
但仍可以对真正数组遍历方法来遍历它们。
典型的是函数的argument参数,
还有像调getElementsByTagName,
document.childNodes之类的,
它们都返回NodeList对象,
这些都属于伪数组。
可以使用
Array.prototype.slice.call(fArray)
将数组转化为真正的Array对象。
4. 数组快速排序?
思路:
a) 在数据集之中,选择一个元素作为"基准"(pivot)。
b) 所有小于"基准"的元素,都移到"基准"的左边;
所有大于"基准"的元素,都移到"基准"的右边。
c) 对"基准"左边和右边的两个子集,
不断重复第一步和第二步,
直到所有子集只剩下一个元素为止。
var quickSort = function(arr) {
if (arr.length <= 1) { return arr; }
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++){
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot],
quickSort(right));
};
5. 开发中有哪些常见的Web攻击技术?
a) XSS(Cross-Site Scripting,跨站脚本攻击):
指通过存在安全漏洞的Web网站注册用户的浏览器
内运行非法的HTML标签或者JavaScript进行的一种攻击。
b)SQL注入
c) CSRF(Cross-Site Request Forgeries,跨站点请求伪造):
指攻击者通过设置好的陷阱,强制对已完成的认证用户进行
非预期的个人信息或设定信息等某些状态更新。
Web大前端面试题-Day10的更多相关文章
- Web大前端面试题-Day12
1.前端需要注意哪些SEO? 合理的title.description.keywords: 搜索对着三项的权重逐个减小, title值强调重点即可, 重要关键词出现不要超过2次, 而且要靠前, 不同页 ...
- Web大前端面试题-Day7
1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressi ...
- Web大前端面试题-Day6
1.请说明ECMAScript, JavaScript, Jscript之间的关系? ECMAScript提供脚本语言必须遵守的规则. 细节和准则,是脚本语言的规范. 比如:ES5,ES6就是具体的一 ...
- Web大前端面试题-Day4
1. 如何实现瀑布流? 瀑布流布局的原理:1) 瀑布流布局要求要进行布置的元素等宽, 然后计算元素的宽度, 与浏览器宽度之比,得到需要布置的列数;2) 创建一个数组,长度为列数, 里面的值 ...
- Web大前端面试题-Day11
86.如何获得高效的数据库逻辑结构? 从关系数据库的表中 删除冗余信息的过程 称为数据规范化, 是得到高效的关系型数据库表的逻辑结构 最好和最容易的方法. 规范化数据时应执行以下操作: 1.将数据库的 ...
- Web大前端面试题-Day8
1. 说说你对作用域链的理解? 作用域链的作用是保证执行环境里 有权访问的变量和函数是有序的, 作用域链的变量只能向上访问, 变量访问到window对象即被终止, 作用域链向下访问变量是不被允许的; ...
- Web大前端面试题-Day1
1. var的变量提升的底层原理是什么? JS引擎的工作方式是:1) 先解析代码,获取所有被声明的变量:2)然后在运行.也就是说分为预处理和执行两个阶段. 变量提升:所有变量的声明语句都会被提升到代码 ...
- Web大前端面试题-Day9
1. 请用至少3中方式实现数组去重? 方法一: indexOfvar arr1=[1,2,3,4,5,4,3,2,1]; function repeat1(arr){ for(var i=0, ...
- Web大前端面试题-Day5
1.写一个深度克隆方法(es5)? /** * 深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj 目标对象 */ function ...
随机推荐
- Java用System读取系统相关信息、环境变量——(六)
package Java_Test; public class System1 { public static void main(String[] args) { // TODO Auto-gene ...
- 【vim】实时加密文本 ggVGg?
如果你不想让别人看懂你的屏幕上的内容,你可以使用一个内置的选项,通过下面的命令使用 ROT13 来对文本进行编码: ggVGg? gg 把光标移动到 Vim 缓冲区的第一行, V 进入可视模式, G ...
- Linux 进程中 Stop, Park, Freeze【转】
转自:https://blog.csdn.net/yiyeguzhou100/article/details/53134743 http://kernel.meizu.com/linux-proces ...
- composer安装laravel框架时未生成Vendor解决办法
三个方法并没有关联,可以单独尝试也可以一起设置. 方法一. 去php.ini中查看下面三个扩展项是否开启 extension=php_fileinfo.dll extension=php_mbstri ...
- Weex学习资料整合
1.weex weex文档:http://weex.apache.org/cn/guide/index.html Weex Ui awesome-weex WEEX免费视频教程-从入门到放肆 (共17 ...
- Sudo的用法和Visudo设置
身为程序员,你可以活在一个没有Windows的世界,当你离不开Unix(Linux,Mac...).而在Unix下面,你离不开terminal,离不开sudo. 你知道sudo command,然后输 ...
- MySQL----数据库操作2
数据库高级操作: SHOW DATABASES; 显示数据库 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci CR ...
- git填坑笔记
Counting objects: 3, done.Writing objects: 100% (3/3), 203 bytes | 0 bytes/s, done.Total 3 (delta 0) ...
- mysql的基本演示
数据库需要配置 cmd打开doc窗口 net start mysql:启动数据库 net stop mysql :停止数据库 表的定义:列 行 主键
- OSGI命令
OSGi的一些支离破碎的知识 以下命令说明内容来自于Eclipse的OSGi框架Equinox. ---Controlling the OSGi framework---launch - start ...