Web大前端面试题-Day11】的更多相关文章

86.如何获得高效的数据库逻辑结构? 从关系数据库的表中 删除冗余信息的过程 称为数据规范化, 是得到高效的关系型数据库表的逻辑结构 最好和最容易的方法. 规范化数据时应执行以下操作: 1.将数据库的结构精简为最简单的形式 2.从表中删除冗余值 3.标识所有依赖与其他数据的数据 规范化过程有几个阶段, 分别称作第一范式(1NF). 第二范式(2NF). 第三范式(3NF). 第四范式(4NF) 以及第五范式(5NF). 对于所有的实际应用, 3NF已经足够了. 87.数据库三范式是什么? 第一范…
1.前端需要注意哪些SEO? 合理的title.description.keywords: 搜索对着三项的权重逐个减小, title值强调重点即可, 重要关键词出现不要超过2次, 而且要靠前, 不同页面title要有所不同:description把页面内容高度概括, 长度合适, 不可过分堆砌关键词, 不同页面description有所不同:keywords列举出重要关键词即可 语义化的HTML代码,符合W3C规范: 语义化代码让搜索引擎容易理解网页重要内容HTML代码放在最前: 搜索引擎抓取HT…
1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressive enhancement): 一开始只构建站点的最少特性, 然后不断针对各浏览器追加功能. 优雅降级和渐进增强都关注于同一网站 在不同设备里不同浏览器下的表现程度. 区别: “优雅降级”观点认为应该针对那些最高级. 最完善的浏览器来设计网站. 而将那些被认为“过时”或有功能缺失的浏览器下 的测试…
1.请说明ECMAScript, JavaScript, Jscript之间的关系? ECMAScript提供脚本语言必须遵守的规则. 细节和准则,是脚本语言的规范. 比如:ES5,ES6就是具体的一js版本. JavaScript是ECMAScript的一个分支版本, JavaScript 实现了多数 ECMA-262 中 描述的 ECMAScript 规范,但存在少数差异. JScript是微软公司对ECMA-262语言规范的 一种实现,除了少数例外(这是为了保持向后兼容 ), 微软公司宣称…
1. 如何实现瀑布流? 瀑布流布局的原理:1) 瀑布流布局要求要进行布置的元素等宽,   然后计算元素的宽度,   与浏览器宽度之比,得到需要布置的列数;2) 创建一个数组,长度为列数,   里面的值为已布置元素的总高度(最开始为0);3) 然后将未布置的元素依次布置到高度最小的那一列,   就得到了瀑布流布局;4) 滚动加载, scroll事件得到scrollTop,     与最后盒子的offsetTop对比,   符合条件就不断滚动加载. 瀑布流布局核心代码: /** * 实现瀑布流的布局…
1. px和em的区别? px和em都是长度单位; 区别是: px的值是固定的,指定是多少就是多少, 计算比较容易. em得值不是固定的,并且em会继承父级元素的字体大小. 浏览器的默认字体高都是16px; 所以未经调整的浏览器都符合: 1em=16px; 那么12px=0.75em, 10px=0.625em 2. CSS 去掉inline-block元素间隙的几种方法? 间隙是怎么来的: 间隙是由换行或者回车导致的; 只要把标签写成一行或者 标签直接没有空格,就不会出现间隙; 怎么去除? 方…
1. 说说你对作用域链的理解? 作用域链的作用是保证执行环境里 有权访问的变量和函数是有序的, 作用域链的变量只能向上访问, 变量访问到window对象即被终止, 作用域链向下访问变量是不被允许的; 作用域就是变量与函数的可访问范围, 即作用域控制着变量与函数的可见性 和生命周期. 2. 请说说JavaScript原型,原型链 ? 原型: 当我们访问一个对象的属性时, 每个对象都会在其内部初始化一个属性, 就是prototype(原型); 原型链: 如果这个对象内部不存在这个属性, 那么他就会去…
1. var的变量提升的底层原理是什么? JS引擎的工作方式是:1) 先解析代码,获取所有被声明的变量:2)然后在运行.也就是说分为预处理和执行两个阶段. 变量提升:所有变量的声明语句都会被提升到代码头部. 但是变量提升只对var命令声明的变量有效,如果一个变量不是用var命令声明的,就不会发生变量提升. js里的function也可看做变量,也存在变量提升情况. 2. JS如何计算浏览器的渲染时间? 浏览器的渲染过程主要包括以下几步: 1) 解析HTML生成DOM树. 2) 解析CSS生成CS…
1. 请用至少3中方式实现数组去重? 方法一: indexOfvar arr1=[1,2,3,4,5,4,3,2,1];  function repeat1(arr){    for(var i=0,arr2=[];i<arr.length;i++){      if(arr2.indexOf(arr[i])==-1){        arr2.push(arr[i]);      }    }    return arr2; } 方法二: hashfunction repeat2(arr){…
1.写一个深度克隆方法(es5)? /** *  深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj  目标对象 */ function deepCopyObj2NewObj(fromObj, toObj) {   for(var key in fromObj){       // 1. 取出键值对        var fromValue = fromObj[key];       // 2. 检查当前的属性值是什么类型    i…
1. javascript的typeof返回哪些数据类型? 答案: undefined string boolean number symbol(ES6) Object Function 2. 列举3种强制类型转换和2种隐式类型转换? 答案: 强制(parseInt,parseFloat,number) 隐式(== === ! ) 3. split() join() 的区别? 答案: 前者是将字符串切割成数组的形式, 后者是将数组转换成字符串 4. 数组方法pop() push() unshif…
1.伪类与伪元素的区别? 1) 定义区别 伪类 伪类用于选择DOM树之外的信息,或是不能用简单选择器进行表示的信息. 前者包含那些匹配指定状态的元素,比如:visited,:active:后者包含那些满足一定逻辑条件的DOM树中的元素,比如:first-child,:first-of-type,:target. 伪元素伪元素为DOM树没有定义的虚拟元素.不同于其他选择器,它不以元素为最小选择单元,它选择的是元素指定内容. 比如::before表示选择元素内容的之前内容,也就是"":::…
前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 JavaScript编程题1.实现输出document对象中所有成员的名称和类型:2.如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)3.如何利用JS生成一个table?4.实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px,宽度为50px:5.假设有一个4行td的table,…
对于巩固复习js更是大有裨益.    初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型:String,Boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,RegExp,Function) 那么问题来了,如何判断某变量是否为数组数据类型? 方法一.判断其是否具有“数组性质”,如slice()方法.可自己给该变量定义slice方…
前端面试题总结 HTML&CSS: 对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应. JavaScript: 数据类型.面向对象.继承.闭包.插件.作用域.跨域.原型链.模块化.自定义事件.内存泄漏.事件机制.异步装载回调.模板引擎.Nodejs.JSON.ajax等. 其他: HTTP.安全.正则.优化.重构.响应式.移动端.团队协作.可维护.SEO.UED.架构.职业生涯 1.请你谈谈Cookie的弊端…
web前端面试题HTML/CSS部分 前端页面有哪三层构成,分别是什么?作用是什么? 1.结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达.解决了页面“内容是什么”的问题. 2.表示层:由CSS负责创建,解决了页面“如何显示内容”的问题. 3.行为层:由脚本负责.解决了页面上“内容应该如何对事件作出反应”的问题. css的基本语句构成是什么? 选择符{属性1:值1;属性2:值2;...}等. 主流的浏览器分别是什么内核? IE:Trident内核 Mozilla F…
Web前端面试题总结 HTML+CSS理论知识 1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器得到html代码 e. 浏览器解析html代码,并请求html代码中的资源 f. 浏览器对页面进行渲染呈现给用户 2.谈谈你对前端性能优化的理解 a. 请求数量:合并脚本和样式表,CSS Sprites,拆分初始化负载,划分主域 b. 请求带宽:开启GZip,精简Jav…
金三银四,磨砺锋芒:剑指大厂,扬帆起航(2020年最全大厂WEB前端面试题精选)上 引言 元旦匆匆而过,2020年的春节又接踵而来,大家除了忙的提着裤子加班.年底冲冲冲外,还有着对于明年的迷茫和期待!2019年有多少苦涩心酸,2020年就有更多幸福美好,加油,奥利给!怀着一颗积极向上的心,来面对未来每一天的挑战! 所谓"兵马未动,粮草先行",我们打响明天的战役也需要精神食粮来做后勤保障才是.在此我整理了多位从业者和我在2019年底至2020年初的一厂面试精选题,希望对磨砺锋芒.奋发向上…
为什么80%的码农都做不了架构师?>>>   好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jsonp跨域 2. 跨域资源共享(CORS) 3. nodejs中间件代理跨域 4. nginx反向代理中设置proxy_cookie_domain Ⅰ.通过jsonp跨域 通常为了减轻Web服务器的负载,我们把js.css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域…
面试web前端开发,不管是笔试还是面试,都会涉及到各种专业技术问题,今天小编整理了一些常见的web前端面试题及答案,希望对大家有所帮助. 1.常用那几种浏览器测试?有哪些内核(Layout Engine)? (Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera. (Q2) 内核:Trident,Gecko,Presto,Webkit. 2. 说下行内元素和块级元素的区别?行内块元素的兼容性使用?(IE8 以下) (Q1) 行内元素:会在水平方向排列,不能包含块级元素,设…
web前端面试题及答案   1.常用那几种浏览器测试?有哪些内核(Layout Engine)? 答: (Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera.    (Q2) 内核:Trident,Gecko,Presto,Webkit. 2. 说下行内元素和块级元素的区别?行内块元素的兼容性使用?(IE8 以下) 答: (Q1) 行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,…
本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的!不可能的!不可能的! 前端还是一个年轻的行业,新的行业标准, 框架, 库都不断在更新和新增.正如赫门在2015深JS大会上的<前端服务化之路>主题演讲中说的一句话:“每18至24个月,前端都会难一倍”,这些变化使前端的能力更加丰富.创造的应用也会更加完美.所以关注各种前端技术,跟上快速变化的节奏,也是身为一个前…
HTML+CSS1.对WEB标准以及W3C的理解与认识标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外 链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被更多的用户所访问.内容能被更广泛的设备所访问.更少的代码和组件,容易维 护.改版方便,不需要变动页面内容.提供打印版本而不需要复制内容.提高网站易用性:2.xhtml和html有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.X…
摘要: 经典面试题. 原文:2019前端面试题汇总(主要为Vue) 作者:前端小酱 Fundebug经授权转载,版权归原作者所有. 毕业之后就在一直合肥小公司工作,没有老司机.没有技术氛围,在技术的道路上我只能独自摸索.老板也只会画饼充饥,前途一片迷茫看不到任何希望.于是乎,我果断辞职,在新年开工之际来到杭州,这里的互联网公司应该是合肥的几十倍吧.... 刚来3天,面试了几家公司,有些规模比较小,有些是创业公司,也有些已经发展的不错了:今天把最近的面试题目做个汇总,也给自己复个盘,由于我的技术栈…
前端面试题汇总 1. 谈谈你对MVVM开发模式的理解 MVVM分为Model.View.ViewModel三者. 1)Model:代表数据模型,数据和业务逻辑都在Model层中定义: 2)View:代表UI视图,负责数据的展示: 3)ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作: Model和View并无直接关联,而是通过ViewModel来进行联系的,Model和ViewModel之间有着双向数据绑定的联系.因此当Model中的数据改变时会触发View…
1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的当然只是让自己变得更加具有竞争力. 今年自己也用了几个月的时间来准备笔记面试,巩固基础知识.特此将自己在这个过程总结的题目分享出来,希望对于求职和准备求职的同学有所帮助. https://juejin.im/post/59be99a0f265da0644289dde 2.两行 JavaScript 代码 最近…
看了牛人写的回忆文章,里面有2010年腾讯的前端面试题,里面涉及到不少基础性的问题,js部分已学习,这是jquery,html和css部分,学习一下:) 原文地址:https://segmentfault.com/a/1190000012998107 jQuery部分: jQuery里如何绑定事件?有多少种方式? jQuery绑定事件时,this指针指向的是?(dom对象还是jQuery对象) 对于页面中暂时不存在的对象,如果进行事件绑定? 为什么选用jQuery框架(言下之意就是还有哪些其他的…
前端面试题总结(一)HTML篇 一.iframe的优缺点? 缺点: 1.会阻塞主页面的onload事件(iframe和主页面共享链接池,而浏览器对相同域的链接有限制,所以会影响页面的并行加载). 解决方法:通过js动态给iframe添加src属性值. 2.会增加http请求. 3.对搜索引擎不友好. 4.在移动端设备不能完全加载,会出现滚动条,影响用户体验. 优点: 1.解决加载缓慢的第三方内容如图标和广告的加载问题. 2.并行加载脚本. 3.程序调入静态页面比较方便. 4.页面和程序分离. 二…
前端面试题总结(二)CSS篇 一.link和@import的区别? link属于HTML标签,可以引入出css以外的事务,如RSS,而@import是css提供的,只能加载css文件. link会在页面加载同时加载,@import会等到页面加载完成再加载. import只在IE5以上才能识别,link五兼容性问题. link防止的样式权重,高于@import的权重. link可以使用JavaScript控制dom改变样式,@import不可以. 二.常见兼容性? png24位的图片在IE6浏览器…
一.BFC 的概念 1.规范解释 块格式化上下文(Block Formatting Context,BFC)是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域. 2.通俗理解 BFC 是一个独立的布局环境,可以理解为一个容器,在这个容器中按照一定规则进行物品摆放,并且不会影响其它环境中的物品. 如果一个元素符合触发 BFC 的条件,则 BFC 中的元素布局不受外部影响. 浮动元素会创建 BFC,则浮动元素内部子元素主要受该浮动元素影响,所…