web期末考试试题及答案
web期末考试试题及答案
考场里最后十分钟,末考我盯着屏幕上的试试“请描述CSS盒模型”,手指悬在键盘上没落下去。题及这道题我背了不下五遍,答案可那一刻脑子里全是末考昨天熬夜看的flex布局。监考老师从我身后走过,试试我听见自己心跳声——后来成绩出来,题及这道题我拿了满分,答案因为我把盒模型的末考content、padding、试试border、题及margin画成了四个嵌套的答案矩形,旁边标注“像俄罗斯套娃,末考但每层都能单独设置颜色和大小”。试试
试卷第一题通常是题及HTML基础,问的是语义化标签的好处。标准答案是“利于SEO、便于维护、提升可访问性”。我多写了一句“就像给文章加标题,不是为了让字变大,而是让读屏软件知道哪句是重点”。改卷老师在这句下面画了条波浪线。第二题考HTTP状态码,304和404的区别。我举了个例子:304是“你上次看的版本没变,继续用缓存”,404是“这页我压根没写,你找错地方了”。
CSS部分最坑的是“position: relative和absolute的区别”。我见过太多同学把absolute当成relative的升级版,其实它们根本不是一回事。relative是“相对于自己原来位置挪动”,absolute是“相对于最近的定位祖先元素重新安家”。举个生活例子:relative像你在教室里换座位,从第三排挪到第五排,但教室没变;absolute像你直接搬出教室去了操场,得看哪个门(定位祖先)让你出去。
JavaScript的闭包题每次必考。题目问“for循环里用var声明i,点击事件输出什么”。标准答案是“全输出最后一个值”,因为var没有块级作用域,循环结束后i已经变成终值。我写了个小故事:五个按钮,你点哪个都告诉你“我是第五个按钮”,就像一群人排队报数,报完就散了,你回头问谁是一号,没人记得。然后我补了句“用let声明就能解决,因为let给每次循环都建了个独立的小房间”。
Ajax和fetch的区别,这题我答得很主观。我说Ajax是“老式电话,得自己接线、拨号、等对方说话”,fetch是“微信语音,内置了Promise,发出去就等回音,不用手动管理状态”。老师没扣分,反而在旁边写了“比喻恰当”。其实fetch确实更简洁,但要注意它不会自动携带cookies,同源请求下默认不带凭证,这是很多新手踩坑的地方。
最后一道大题是手写一个简单的轮播图。我用了不到二十行代码,核心思路是“把图片排成一行,用transform: translateX(-100%)来滚动,每次滚动前先判断是不是最后一张,是的话瞬间跳回第一张,利用transition的延迟制造无缝效果”。我特意在注释里写了“这里不能用display:none切换,因为那样没有过渡动画,看起来像硬切”。这题我拿了满分,因为我不仅写了功能,还写了为什么这么写。
考完试有个同学问我:“你那些生活例子是从哪想到的?”我说“就是平时写代码时自己犯过的错”。比如闭包那个,我真写过五个按钮全输出最后一个值的bug,调试了半小时才明白是var的问题。所以那些例子不是刻意编的,是踩坑踩出来的。
其实web考试没那么玄乎,它考的不是背诵,是你有没有真的动手写过。一个能解释清为什么用let不用var的人,和一个只会背“let是块级作用域”的人,写出来的代码质量完全不同。考试只是把这种差异显性化了而已。
- ·成都网站建设报价
- ·vip网站
- ·太原培训机构
- ·最透明的三角裤头男试穿
- ·网站征婚骗钱
- ·盗U源码
- ·冒充警察抓赌
- ·资产评估自考重点中的重点 汇编
- ·反渗透工程案例
- ·紧急漏洞
