恒生电子3.31前端笔试总结(21-23年)
任意题型都会自动保存,全屏模式,不允许使用本地ide,无须手机监考
编码提示不完全,核心代码main模式(对main的传参要进行解构...arr或者对形参赋默认值main(str='')否则会找不到length属性),有自测数据,可自行调试,无AC提醒,将思路写在注释中也能酌情得分
恒生电子
考试时间:2h
选择题、简答题(三大件html、css和js都考察,难度适中)
2023年最全前端面试题考点HTML5+CSS3+JS+Vue3+React18+八股文+手写+项目+笔试 涵盖了大部分知识点,部分目录展示
2023.3.31
15道不定项选择题
(答案1个或者多个)
http://www.xx.xxx.com/默认端口
css权值计算
怎样防御CSRF 攻击
for of可遍历普通对象吗?(否)
for in按顺序循环吗?(否)
html5新增特性:SVG绘图,web workers
css权值计算
在同一层级下:权值由高到低
- !important (会覆盖CSS的任何声明,其实与优先级毫无关系) 权值
- 内联样式(style=“ ”) 1000
- ID选择器(id=" “) 100
- 伪类选择器(如:hover)
- 属性选择器[title]{color:blue;})
- Class类选择器(class=” ") 10
- HTML标签选择器 (p{}) 1
- 通用选择器(*) 0
重排引发条件
1.页面初始渲染,这是开销最大的一次重排
2.添加/删除可见的DOM元素
3.改变元素位置
4.改变元素尺寸,比如边距、填充、边框、宽度和高度等
5.改变元素内容,比如文字数量,图片大小等
6.改变元素字体大小
...
总结:改变尺寸,宽高,边框,内容,位置都会引起重排。
3道填空题
- 通过设置父元素让子元素水平垂直居中
- 用reduce一句代码让字符串str1(welcome)中每个字符后插入6得到str2(w6e6c6o6m6e6)
- 用str2对str1去重得到666666
2道编码题
元音倒序字符串
例如HELLO 中元音为E,O,将原字符串中元音颠倒输出,HOLLE(其中元音不区分大小写)
股票最大利润
例如prices=[3,3,5,0,7],prices[i]为第i天股票价格,买入卖出都一次交易,至少0次交易,最多两次交易,卖出后才能买入,求最大利润
2022.9.24
简答题call apply bind 相同点和区别
编程题:两道json的处理
2022.4.5
15道不定项选择题:10道计算机网络基础题,5道前端题
3道填空题
2道编码题
不定项选择题
关系数据库有哪几种?
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL
css权值计算
在同一层级下:权值由高到低
- !important (会覆盖CSS的任何声明,其实与优先级毫无关系) 权值
- 内联样式(style=“ ”) 1000
- ID选择器(id=" “) 100
- 伪类选择器(如:hover)
- 属性选择器[title]{color:blue;})
- Class类选择器(class=” ") 10
- HTML标签选择器 (p{}) 1
- 通用选择器(*) 0
重排引发条件
1.页面初始渲染,这是开销最大的一次重排
2.添加/删除可见的DOM元素
3.改变元素位置
4.改变元素尺寸,比如边距、填充、边框、宽度和高度等
5.改变元素内容,比如文字数量,图片大小等
6.改变元素字体大小
...
总结:改变尺寸,宽高,边框,内容,位置都会引起重排。
OSI各种协议
编码题
写一个使三个promise可以串行执行的函数。
答案:用promise.all
new Promise1((resolve, reject) => { resolve('成功了') }) new Promise2((resolve, reject) => { resolve('success') }) new Promise3((resolve, reject) => { resolve('promise3') }) Promise.all([promise1, promise2, promise3]).then((values) => { console.log(values); });
【1,52】范围内的52个正整数,随机分配到四个数组a,b,c,d。四个数组的数不允许重复
cutArray(arry) { let a=[],b=[],c=[],d=[]; while(a.length<13) { let i=Math.floor(Math.random()*arry.length+1);//产生随机数组下标。为啥不写52,而是写arry.length是因为arry是变化的,看下面代码。 a.push(arry[i]); arry.splice(i,1);//改变arry,将已分配的数据删除 } while(b.length<13) { let i=Math.floor(Math.random()*arry.length+1); b.push(arry[i]); arry.splice(i,1); } while(c.length<13) { let i=Math.floor(Math.random()*arry.length+1); c.push(arry[i]); arry.splice(i,1); } d=arry; console.log(a); console.log(b); console.log(c); console.log(d); }
2021.9.17
编程题:promise
总结:22,23年不定选择都考过css权值,重排
#前端##暑期实习[话题]##笔试##实习,投递多份简历没人回复怎么办##恒生#