Web前端开发经典面试题(附参考答案)
Web前端开发工程师经典面试题(附参考答案)CSS3支持下列哪一个标签?(A)A box-shadowB borderC backgroundD. display>把鼠标移到按钮并点击时,会产生一串什么样的事件?(D)A. active hove focusB foucs hove activeC. hove active foucusD hover focus active>以下位于间的代码片段是做什么用的(B)1 A.使得页面编码合乎要求B.表示支持响应式设计C.支持正常的绘制和缩放D.表示针对滚屏进行适当的适配下面关于、FF下面CSS的解释区别描述正确的有?(C、D)八. FireFox的dⅳ的内嵌di可以把父级的高度撑大,而|6.0不可以,要自己设置高度。B.当设置为三列布局时, FireFox0的 float宽度不能达到100%,而l6.可以。当设置为两列布局时,两种浏览器都可以。C.火狐浏览器中,非 float的di前面有同一父级的foat的dV,此di若有背景图,要使用 clear:both,才能显示背景图,而60中不用使用 clear:bothD.在[text- decoration: underline]的属性下,6.0显示的下划线会比 FireFox低一点。在 FireFox中,部分笔画会在下划线的下面1个象素左右。极客学院页码:3/21jikexueyuan. com在使用tabe表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值?(A、D)A cellpadding=0B padding: OC. margin: OD. cellspacing=”0在 bootstrap中,关于导航条,下列说法正确的是?(A、B、C、D)A.应该将被包裹的元素放到na∨bar-co|apse类中B.表单应该放置于 nayar-form内C.可以使用 navbar-ef和 navan-ght来对齐导航条D.可以使用 navbar-fixed-top和 navbar- fixed-boom来将导航条固定到顶部或底部嵌入在HTML文档中的图像格式可以是?(A、C、D)A * gif米tfC. bmpD. jpg下列js可以让一个 input的背景颜色变成红色的是?(AA inputElement style backgroundColor =redB. inputelement backgroundColor = redC. inputElement style backgroundColor=#oooOD. inputElement backgroundColor=#oooo极客学院页码:4/21iikexueyuan. com元素的at和tte有什么异同,选出正确的说法?(B)A.不同的浏览器,表现一样B.at和tite同时设置的时候,at作为图片的替代文字出现,tite是图片的解释文字C.a和tite同时设置的时候,tite作为图片的替代文字出现,at是图片的解释文字D.以上说法都不正确在不涉及样式情况下页面元素的优先显示与结构摆放顺序无关。请判断这句话的正确与否。(B)A.对B.错下列哪个操作是W3c标准定义的阻止事件向父容器传递:(C)A epreventDefault(B. e. cancelBubble=trueC. e. stopPropagationoD e.stoplmmediatePropagationo对于 border- radius标签,说法镨误的是(B)A.表示圆角边框B.|E8支持良好C.|E9支持良好D. firefox支持良好≯下述有关css属性 position的属性值的描述,说法错误的是?(B)A. static:没有定位,元素出现在正常的流中B. fixed:生成绝对定位的元素,相对于父元素进行定位C. relative:生成相对定位的元素,相对于元素本身正常位置进行定位。D. absolute:生成绝对定位的元素,相对于 static定位以外的第一个祖先元素进行定位。极客学院页码:5/21iikexueyuan. com下面有关 html Doctype的描述,说法错误的是?(D)八.它的责任就是告诉浏览器文档使用哪种htm或者xhtm规范B.不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析C.不同浏览器在混杂模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。D.如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启严格模式ν Doctaρe?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?用于声明文档使用那种规范(什HTML/ XHTML)一般为严格过度基于框架的htm文档,加入ⅩM声明可触发,解析方式更改为5.5拥有|5.5的bug前端页面有哪三层构成,分别是什么?作用是什么?结构层HTML表示层CSS行为层js对WEB标准以及W3C的理解与认识?标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链cs和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性。XHTML和HTML有什么区别?HTML是一种基本的WEB网页设计语言, XHTML是一个基于XML的置标语言最主要的不同ⅩHTML元素必须被正确地嵌套。XHTML元素必须被关闭。标签名必须用小写字母。ⅩHTML文档必须拥有根元素。极客学院页码:6/21iikexueyuan. comCSS的基本语句构成是?选择器{属性1:值1:属性2值2;…]行內元素有哪些?块级元素有哪些?CSS的盒模型?块级元素: div p hI h2h3h4 form ul行内元素: a b br i span input selectCss盒模型内容, border, margIn, paddingCSS引入的方式有哪些?lnk和@ mport的区别是?内联内嵌外链导入区别:同时加载前者无兼容性,后者CSS2.1以下浏览器不支持Link支持使用 javascrⅰpt改变样式,后者不可丶CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和 lmportant哪个优先级高?标签选择符类选择符j选择符继承不如指定丨d>cass>标签选择后者优先级高你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?e(le内核)火狐( Gecko)谷歌( webkit) opear( Prestoimg标签上tte与at属性的区别是什么?A当图片不显示是用文字代表。Tite为该属性提供信息极客学院页码:7/21iikexueyuan. com描述 css reset的作用和用途。Reset重置浏览器的cSs默认属性,浏览器品种不同,样式不同,然后重置让他们统-。写出几种E6BUG的解决方法1.双边距B∪ G float引起的使用 display2.3像素问题使用foat引起的使用 dislpay: inline-3pⅩ3.超链接 hover点击后失效使用正确的书写顺序 link visited hover active4. le z-inde问题给父级添加 position relative5.Png透明使用js代码改6.Min- height最小高度! mportant解决7. select在ie6下遮盖使用 iframe嵌套8.为什么没有办法定义1px左右的宽度容器(E6默认的行高造成的,使用over: hidden, zoom: 0.08 line-height: px)9.ie6不支持 mportant解释 CSs sprites,如何使用。CsS精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量。≯浏览器标准模式和怪异模式之间的区别是什么?盒子模型渲染模式的不同使用 window top document compatMode可显示为什么模式什么是语义化的HTML?直观的认识标签对于搜索引擎的抓取有好处什么是语义化的HTML?直观的认识标签对于搜索引擎的抓取有好处极客学院页码:8/21iikexueyuan. com你如何对网站的文件和资源进行优化?有哪些解决方案?文件合并文件最小化/文件压缩使用CDN托管缓存的使用清除浮动的几种方式,各自的优缺点使用空标签清除浮动 clear:both(理论上能清楚任何标签,增加无意乂的标签)2.使用 overflow;auto(空标签元素清除浮动而不得不增加无意代码的弊端,使用zoom:1用于兼容|)3.是用 afert伪元素清除浮动(用于非浏览器)javascript的 typeof返回哪些数据类型Object number function boolean underfind例举3种强制类型转换和2种隐式类型转换?强制( parseInt, parseFloat, number)隐式(==-===)数组方法pop()push0 unshift0shftPush0尾部添加pop0尾部删除Unshift0头部添加 shift头部删除E和标准下有哪些兼容性的写法Var ev= ev l window eventdocument documentElement. clientWidth document body. clientWidthVar target ev.srcElementllevtarget极客学院页码:9/21iikexueyuan. com旧和DOM事件流的区别1.执行顺序不一样2.参数不一样3.事件加不加on4.this指向问题spit0join0)的区别前者是切割成数组的形式,后者是将数组转换成字符串ajax请求的时候get和post方式的区别一个在ur后面一个放在虚拟载体里面有大小限制安全问题应用不同一个是论坛等只需要请求的,一个是类似修改密码的ca和appy的区别Object. call (this, obj l, obj2, obj3)Object. apply (this, argumentsajax请求时,如何解释json数据使用 eval parse鉴于安全性考虑使用 parse更靠谱事件委托是什么让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!闭包是什么,有什么特性,对页面有什么影响?闭包就是能够读取其他函数內部变量的函数。极客学院页码:10/21jikexueyuan.com
- 2020-12-10下载
- 积分:1
反向传播算法推导—全连接神经网络
反向传播算法是人工神经网络训练时采用的一种通用方法,在现代深度学习中得到了大 规模的应用。全连接神经网络(多层感知器模型,MLP),卷积神经网络(CNN),循环神 经网络(RNN)中都有它的实现版本。算法从多元复合函数求导的链式法则导出,递推的 计算神经网络每一层参数的梯度值。算法名称中的“误差”是指损失函数对神经网络每一层 临时输出值的梯度。反向传播算法从神经网络的输出层开始,利用递推公式根据后一层的误 差计算本层的误差,通过误差计算本层参数的梯度值,然后将差项传播到前一层(w, x,)+b这个神经元接受的输入信号为向量(),向量()为输入向量的组合权重,为徧置项,是标量。神经儿对输入冋量进行加权求和,并加上偏置项最后经过激活函数变换产生输出为表述简洁,我们把公式写成向量和矩阵形式。对每个神经元,它接受的来自前一层神经元的输入为向量,本节点的权重向量为,偏置项为,该神经元的输出值为先计算输入向量与权重向量的内积,加上偏置项,再送入一个函数进行变换,得到输出这个函数称为激活函数,典型的是函数。为什么需要激活函数以及什么样的函数可以充当激活函数,在之前的公众号文章“理解神经网终的激活函数”中已经进行了介绍。神绎网络一般有多个层。第一层为输入层,对应输入向量,神绎元的数量等于特征向量的维数,这个层不对数据进行处理,只是将输入向量送入下一层中进行计算。中间为隐含层,可能有多个。最后是输出层,神经元的数量等于要分类的类别数,输出层的输岀值被用来做分类预测。下面我们来看一个简单神经网络的例了,如下图所示这个网络有层。第一层是输入层,对应的输入向量为,有个神经元,写成分量形式为(),它不对数据做任何处理,直接原样送入下一层。中间层有个神经元,接受的输入数据为向量,输出向量为,写成分量形式为。第三个层为输出层,接受的输入数据为向量,输出向量为,写成分量形式为()。第一层到第层的权重矩阵为(,第二层到第三层的权重矩阵为()。权重矩阵的每一行为一个权重向量,是层所有神经元到本层某一个神经儿的连接权重,这里的上标表小层数如果激活函数选用函数,则第二层神经元的输出值为+(-(+0)+(1+(0)(-(()第三层神经元的输出值为如果把代入上面二式中,可以将输出向量表示成输出向量的函数。通过调整权重矩阵和偏置项可以实现不同的函数映射,因此神经网终就是一个复合函数需要解决的·个核心问题是·旦神经网络的结构(即神经元层数,每层神经元数量)桷定之后,怎样得到权重矩阵和偏置项。这些参数是通过训练得到的,这是本文推导的核心任务个简单的例子首先以前面的层神经网络为例,推导损失函数对神经网络所有参数梯度的计算方法假设训练样本集中有个样本()。其中为输入向量,为标签向量。现在要确定神经网络的映射函数:什么样的函数能很好的解释这批训练栟本?答案是神经网络的预测输出要尽可能的接近样本的标签值,即在训练集上最小化预测误差,如果使用均方误差,则优化的目标为:∑‖()-其中()和都是向量,求和项内部是向量的范数平方,即各个分量的平方和。上面的误差也称为欧氏距离损失函数,除此之外还可以使用其他损失函数,如交叉熵、对比损失等。优化目标函数的自变量是各层的权重矩阵和梯度向量,一般情况下无法保证目标函数是凸函数,因此这不是一个凸优化问题,有陷入局部极小值和鞍点的风险(对于这些概念和问题之前的公众号文章“理解梯度下降法”,“理解凸优化”中己经做了详细介绍)这是神经网络之前一直被诟病的一个问题。可以使用梯度下降法进行求解,使用梯度下降法需要计算出损失函数对所有权重矩阵、偏置向量的梯度值,接下来的关键是这些梯度值的计算。在这里我们先将问题简化,只考虑对单个样本的损失函数()-‖后面如果不加说明,都使用这种单样木的损失函数。如果计算出了对单个样木损失函数的棁度值,对这些梯度值计算均值即可得到整个目标函数的梯度值。和(要被代入到网络的后一层中,是复合函数的内层变量,我们先考虑外层的和。权重矩阵是一个x的矩阵,它的两个行分别为向量(和是个维的列向量,它的两个元素为()和()。网络的输入是向量,第一层映射之后的输出是向量首先计算损失函数对权重矩阵每个元素的偏导数,将欧氏距离损尖函数展开,有((+))(())6(如果,即对权重矩阵第行的元素求导,上式分了中的后半部分对来说是常数。根据链式法则有S()+()O如果,即对矩阵第二行的元素求导,类似的有:可以统一写成可以发现,第一个下标决定了权重矩阵的第行和偏置向量的第个分量,第二个下标决定了向量的第个分量。这可以看成是一个列向量与一个行向量相乘的结果,写成矩阵形式为上式中乘法⊙为向量对应元素相乘,第二个乘法是矩阵乘法。是个维列向量,+也是一个维列向量,两个向量执行⊙运算的结果还是个维列向量。是一个元素的列向量,其转置为维行向量,前面这个:维列向量与的乘积为的矩阵,这正好与矩阵的尺寸相等。在上面的公式中,权重的偏导数在求和项中由部分组成,分别是网络输出值与真实标签值的误差激活区数的导数+(),本层的输入值。神经网络的输出值、激活函数的导数值本层的输入值都可以在正向传播吋得到,因此可以晑效的计算出来。对所有训练样本的偏导数计算均值,可以得到总的偏导数对偏置项的偏导数为:如果上式分子中的后半部分对来说是常数,有:()⊥()如果类似的有这可以统写成:写成矩阵形式为偏置项的导数由两部分组成,分别是神经网络预测值与真实值之间的误差,激活函数的导数值,与权重矩阵的偏导数相比唯一的区别是少了。接下来计算对和的偏导数,由于是复合函数的内层,情况更为复杂。()是个的短阵,它的个行向量为(),(,(,(。偏置项()是维向量,个分量分别是(),(,(),(。首先计算损失函数对的元素的偏导数:而上式分子中的两部分都有,因此都与有关。为了表述简活,我们令:根据链式法则有:其巾((和和都是标量和()是两个()向量的内积,的每一个分量都是()的函数。接下来计算和这里的一是个向量,衣示的每个分量分别对求导。当时有:后面个分量相对于求导变量(都是常数。类似的当时有:()0)(()和时的结果以此类推。综合起来有:同理有:()十如果令合并得到()()[()-)。()。()写成矩阵形式为()最后计算偏置项的偏导数()类似的我们得到:合并后得到()写成矩阵形式为:(0)至此,我得到了这个简单网络对所有参数的偏导数,接下来我们将这种做法推广到更般的情况。从上面的结果可以看岀一个规律,输出层的权重矩阵和偏置向量梯度计算公式中共用了()-)()对」隐含层也有类似的结果完整的算法现在考虑一般的情况。假设有个训练样本(),其中为输入向量,为标签向量。训练的目标是最小化样木标签值与神经网络预测值之闩的误差,如果使用均方误差,则优化的目标为:其中为神经网络所有参数的集合,包括各层的权重和偏置。这个最优化问题是·个不带约束条件的问题,可以用梯度下降法求解。上面的误差函数定义在整个训练样本集上,梯度下降法每一次迭代利用了所有训练样本,称为批量棁度卜降法。如果样木数量很大,每次迭代都用所有样木进计算成木太高。为了解决这个问题,可以采用单样本梯度下降法,我们将上面的损失函数写成对单个样本的损失函数之和:定义对单个样本()的损失函数为)=-()如果采用单个样本进行迭代,梯度下降法第次迭代时参数的更新公式为:nV如果要用所有样本进行迭代,根据单个样本的损失函数梯度计算总损失梯度即可,即所有样本梯度的均值用梯度下降法求解需要初始化优化变量的值。一般初始化为一个随机数,如用正态分布(a)产生这些随机数,其中G是一个很小的正数到日前为止还有一个关键问题没有解决:日标函数是一个多层的复合函数,因为神经网络中每一层都有权重矩阵和偏置向量,且每一层的输出将会作为下一层的输入。因此,直接计算损失函数对所有权重和偏置的梚度很复杂,需要使用复合函数的求导公式进行递推计算几个重要的结论在进行推导之前,我们首先来看下面几种复合函数的求导。又如下线性映射函数:其中是维向量,是×的矩阵,是维向量。问题:假设有函数,如果把看成常数,看成的函数,如何根据函数对的梯度值Ⅴ计算函数对的梯度值Ⅴ?根据链式法则,由于只和有关,和其他的≠无关,因此有:c∑(对于的所有元素有:写成矩阵形式为:问题:如果将看成常数,将看成的函数,如何根据V计算Ⅴ?由于任意的和所有的都有关系,根据链式法则有写成矩阵形式为这是一个对称的结果,在计算函数映射时用矩阵乘以向量得到,在求梯度时用矩阵的转置乘以的梯度得到的梯度。问题:如果有向量到向量的映射:
- 2020-12-09下载
- 积分:1