回答数
3
浏览数
14692
我姓凌我心凝
今天小编要跟大家分享的文章是关于2020年Web前端面试题汇总。由于内容较多小编分开为大家介绍,今天首先来和小编一起看一看第一部分的内容,希望这些面试题能够对正准备找Web前端相关工作的小伙伴们有所帮助。1.说几条写JavaScript的基本规范?1)不要在同一行声明多个变量;2)请使用===!==来比较truefalse或者数值;3)使用对象字面量替代newObject这种形式;4)减少使用全局函数,全局变量;5)switch语句必须带有default分支;6)if语句必须使用大括号;7)for-in循环中的变量;应该使用var关键字明确限定作用域;从而避免作用域全局污染。2.说说平衡二叉树?平衡二叉搜索树(Self-balancingbinarysearchtree)又被称为AVL树。具有以下性质:1)它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。2)平衡二叉树必定是二叉搜索树,反之则不一定。3)平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。最小二叉平衡树的节点的公式如下:F(n)=F(n-1)+F(n-2)+1备注:1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量。3.清除浮动和解决垂直外边距重叠的解决方案?问题描述:1)父元素没有设置宽高,尺寸由子元素撑起;子元素一旦浮动,父元素高度会发生塌陷。2)子元素设置margin-top会作用的父元素的margin-top;此时会造成垂直外边距重叠。.clearfix::after,.clearfix::before{content:'';display:table;clear:both;}、localStorage和cookie?相同点:都用于浏览器端存储的缓存数据;不同点:1)存储内容是否发送到服务器端当设置了Cookie后,数据会发送到服务器端,造成一定的宽带浪费;xxxstorage则会将数据保存到本地,不会造成宽带浪费;2)数据存储大小不同Cookie数据不能超过4K,适用于会话标识;xxxstorage数据存储可以达到5M;3)数据存储的有效期限不同cookie只在设置了Cookid过期时间之前一直有效,即使关闭窗口或者浏览器;sessionStorage,仅在关闭浏览器之前有效;localStorage,数据存储永久有效;4)作用域不同cookie和localStorage是在同源同窗口中都是共享的;sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;5.判断一个单词是否是回文?回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情景,叫做回文,也叫回环。比如cacac,redivider。letcheckPalindrom=(str)=>{returnstr===('').reverse().join('');}6.不借助临时变量,进行两个整数的交换?输入a=3,b=1,输出a=1,b=3letswap=(a,b)=>{b=b-a;a=a+b;b=a-b;return[a,b];}7.请写出至少5个html5新增的标签,并说明其语义和应用场景?section:定义文档中的一个章节;nav:定义只包含导航链接的章节;header:定义页面或章节的头部;它经常包含logo、页面标题和导航性的目录。footer:定义页面或章节的尾部;它经常包含版权信息、法律信息链接和反馈建议用的地址。aside:定义和页面内容关联度较低的内容,如果被删除,剩下的内容仍然很合理。和post请求在缓存方面的区别?get请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以使用缓存。post不同,post做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用缓存。因此get请求适合于请求缓存。9.如何解决异步回调地狱?promise、generator、asyncawait10.图片的懒加载和预加载?预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。,apply,call的区别?通过apply和call改变函数的this指向,这两个函数的第一个参数都是一样的,表示要改变指向的那个对象,第二个参数,apply是数组,而call则是arg1,arg2...这种形式。通过bind改变this作用域会返回一个新的函数,这个函数不会马上执行。怎么控制一次加载一张图片,加载完后再加载下一张?方法一:varobj=newImage();"#";(){("pic").innnerHTML="";}加载中
旅行夜车
[面试题] 某企业前端开发面试题 【HTML & CSS】1. Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?2. 行内元素有哪些?块级元素有哪些?CSS的盒模型?3. CSS引入的方式有哪些? link和@import的区别是?4. CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?5. 前端页面有哪三层构成,分别是什么?作用是什么?6. css的基本语句构成是?7. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?经常遇到的浏览器的兼容性有哪些?怎么会出现?解决方法是什么?8. 如何居中一个浮动元素?9. 有没有关注HTML5和CSS3?如有请简单说一些您对它们的了解情况!10. 你怎么来实现下面这个设计图,主要讲述思路 (效果图省略)11. 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?12. 你对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?【Javascript】1. js是什么,js和html 的开发如何结合?2. 怎样添加、移除、移动、复制、创建和查找节点3. 怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别4. 面向对象编程:b怎么继承a5. 看看下面alert的结果是什么view sourceprint? b(x, y, a) {.arguments[2] = 10;.alert(a);}b(1, 2, 3);如果函数体改成下面,结果又会是什么?a = 10;alert(arguments[2] );6. 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象var obj = parseQueryString(url);alert()输出07. ajax是什么? ajax的交互模型? 同步和异步的区别? 如何解决跨域问题?8. 什么是闭包?下面这个ul,如何点击每一列的时候alert其index?
我终敌不过她
一次for循环完成1!+2!+...+10!.cmain(){long s=0,n=1;int i;for(i=1;i<=10;i++){n=n*i;s=s+n;}printf("s=%ldn",s);}杨辉三角.cmain(){int a[10][10], x, y;for(x=0;x<10;x++)for(y=0;y<10;y++)a[x][y]=0;for(x=0;x<10;x++)a[x][0]=1;for(x=1;x<10;x++)for(y=1;y<10;y++){a[x][y]=a[x-1][y-1]+a[x-1][y];if(a[x][y]==1)break;}for(x=0;x<10;x++){for(y=0;y<10;y++){if(a[x][y]!=0)printf("%d",a[x][y]);}printf("n");}}连接两字符串.c#include ""main(){int i,j=0;char str1[50], str2[20];scanf("%s%s",str1,str2);for(i=0;str1[i]!='';i++);for(;;i++,j++){str1[i]=str2[j];if(str1[i]=='')break;}找闰年.cmain(){int a;scanf("%d",&a);if(( (a%4==0) && (a%100!=0) ) || (a%400==0))printf("闰年n");}找水仙花数.cmain(){int g, s, b, x;for(x=100;x<1000;x++){g=x%10;s=x10%10;b=x100;if( g*g*g + s*s*s + b*b*b == x )printf("%dt",x);}}百钱买百鸡.cmain(){int x, y, z;for(x=0;x<=20;x++){for(y=0;y<=34;y++){z = 100 - (x+y) ;if ( 5*x + 3*y + z3 == 100 )printf( "t公鸡%d只t母鸡%d只t小鸡%d只n", x, y, z );}}}
优质工程师报名问答知识库