3月10日下午四点半做的笔试题目,基础题很多
没记错的话12道单选,6道多选,4道填空,4道问答
问答1.编程题:找出字母列"AABBCAZDFEH"中重复的字母并按顺序输出
思考:对每个待处理的字符,假设为c,将c与s中的第0—(l-1)个字符相比较,如果有相同的,则处理c后面的一个字符;如果没有相同的,就将c存放到s的第l个位置上,然后在处理c后面的一个字符。
void deleteRepeat(char a[])
{
int i, j ;
int len = strlen(a);
int last = 1;
if (len<2)
return;
for(i=1;i<len;i++){
for(j=0;j<last;j++){
if(a[i]==a[j])
break;
}
if(j == last)
a[last++]=a[i];
}
a[last] = "/0";
}
2.一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(这道题之前也考过咧)
主要包括网络通信和页面渲染
具体参考从输入 URL 到页面加载显示完成,这个过程中都发生了什么
3.重绘和重排区别
通常在 文档初次加载时,浏览器引擎会解析HTML文档来构建DOM树,之后根据DOM元素的几何属性构建一棵用于渲染的树。
重绘是一个元素外观的改变所触发的浏览器行为,例如改变visibility、outline、背景色等属性。浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。重绘不会带来重新布局,并不一定伴随重排。
重排是更明显的一种改变,可以理解为渲染树需要重新计算,例如:DOM元素的几何属性变化、DOM树的结构变化、获取某些属性、改变元素的一些样式,调整浏览器窗口大小等等也都将触发重排。
4.字符串拼接类问题
console.log(100+"num");
console.log(100+“100”);
console.log(100+true);
console.log(100+false);
console.log(100+undifined);
100num
100100
101
100
//最后一个是啥…
具体的填空选择不记得了,整理了一下一些知识点
1.如何改变this的指向?
bind call apply
2.css盒子模型
内容(content)、内边距(padding)、边框(border)、外边距(margin)
3.html常用标准标签
4.DOM节点操作
https://www.cnblogs.com/JanySu/p/5278542.html
5.HTML
6.CSS元素选择器