【备战秋招Day 6】经典面试题21-24及在线编程题16-18答案

来源:互联网 发布:有约束的最短路径算法 编辑:程序博客网 时间:2024/06/05 10:40

这里写图片描述

转载IMWeb团队,知乎地址:https://zhuanlan.zhihu.com/p/27945639

经典面试题

21.XHTML和HTML有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

22.什么是语义化的HTML?

直观的认识标签 对于搜索引擎的抓取有好处,用正确的标签做正确的事情!

html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;

在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。

使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

23.常见的浏览器内核有哪些?

Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称MSHTML]Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等

Presto内核:Opera7及以上。 [Opera内核原为:Presto,现为:Blink;]Webkit内核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]

24.HTML5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和HTML5?

HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

绘画 canvas

用于媒介回放的 video 和 audio 元素

本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

sessionStorage 的数据在浏览器关闭后自动删除

语意化更好的内容元素,比如 article、footer、header、nav、section

表单控件,calendar、date、time、email、url、search

新的技术webworker, websockt, Geolocation

移除的元素

纯表现的元素:basefont,big,center,font, s,strike,tt,u;

对可用性产生负面影响的元素:frame,frameset,noframes;

支持HTML5新标签:

IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式:

前端思考题

11.前端开发中有什么经典的轮子值得自己去实现一遍?

我造过的轮子:LiuJi-Jim/jas:异步控制的工具,11年写的,只有60行,然而炒鸡好用,吃自己狗食的级别。LiuJi-Jim/raze-tpl:模板引擎,语法风骚迷人,吃自己狗食的级别。LiuJi-Jim/mirror:Virtual-DOM实现,玩具级别。LiuJi-Jim/h5pal:万吨巨轮,仙剑奇侠传web移植(介绍)。LiuJi-Jim/c-struct:一个用于JS读写C结构体的工具,从h5pal里拆出来重构的。还有一些烂尾了,还有一些不想发出来的,各种Promise、EventEmitter、Module Loader、山寨Lodash、数据结构、类工厂、MVC……不提也罢。

12.在你的日常开发中遇到过哪些常用布局是无法用纯 CSS 实现的?

  1. 多行文字溢出显示省略号

  2. 最大行数

  3. 更好用的 Flex

  4. 元素查询(Element Queries)

  5. CSS 分页滚动

  6. 非矩形布局

  7. 流式 Grid 布局

在线编程题

16.函数的上下文

要求:将函数 fn 的执行上下文改为 obj 对象

思路:在JavaScript中,函数是一种对象,其上下文是可以变化的,对应的,函数内的this也是可以变化的,函数可以作为一个对象的方法,也可以同时作为另一个对象的方法,可以通过Function对象中的call或者apply方法来修改函数的上下文,函数中的this指针将被替换为call或者apply的第一个参数。将函数 fn 的执行上下文改为 obj 对象,只需要将obj作为call或者apply的第一个参数传入即可。

function speak(fn, obj) {  return fn.apply(obj, obj); }

17.流程控制

要求:实现 fizzBuzz 函数,参数 num 与返回值的关系如下:
1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz2、如果 num 能被 3 整除,返回字符串 fizz
3、如果 num 能被 5 整除,返回字符串 buzz
4、如果参数为空或者不是 Number 类型,返回 false
5、其余情况,返回参数 num

思路:能否整除即余数是否为0,则使用%运算符。使用if-elseif结构,只要某一条匹配,则下面的不会在进行判断。判断num是否为Number,可以用typeof运算符,返回的是字符串。

function fizzBuzz(num) {    if(num%3 == 0 && num%5 == 0)        return "fizzbuzz";    else if(num%3 == 0)        return "fizz";    else if(num%5 == 0)        return "buzz";    else if(num == null || typeof num != "number")        return false;    else return num;}

18.返回函数

要求:实现函数 functionFunction,调用之后满足如下条件:
1、返回值为一个函数 f
2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ‘, ’
3、所有函数的参数数量为 1,且均为 String 类型

思路:首先执行functionFunction(‘Hello’),传入参数str,然后返回函数f,f与(‘world’)组合,执行f(‘world’),传入参数s,f返回str+”, “+s,即Hello, world。注意中间的逗号后面有一个空格。

function functionFunction(str) {  var f = function(s){         return str+", "+s;     }     return f; }
阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做了蛙跳大腿疼怎么办 跳完蛙跳腿疼怎么办 腿受凉了疼怎么办偏方 鸭子步蛙跳后腿疼怎么办 戴墨镜鼻子会红怎么办 校服黑色裙子染色了怎么办 新警培训时怀孕怎么办? 大学生欠了网贷怎么办? 车侧面底盘被刮怎么办 军人家属被打没人处理怎么办 孩子字写的难看怎么办 企业k宝锁死了怎么办 建行信用卡密码忘了怎么办 主卧对着卫生间怎么办 不会画农场的画怎么办 泰迪骨折了怎么办护理 狗狗的腿骨折了怎么办 狗狗摔了一下腿瘸了怎么办 狗狗前腿摔瘸了怎么办 狗摔跤腿瘸了怎么办 小狗的前腿弯了怎么办 两周的小狗缺钙怎么办 狗腿关节断了怎么办 五岁儿童抵抗力差怎么办 3岁儿童抵抗力差怎么办 四岁儿童抵抗力差怎么办 我孩子和我相冲怎么办 儿子不热母亲怎么办?单身呀? 大兔子吃小兔子怎么办 车窗贴膜里面有灰尘怎么办 陌陌小游戏不能玩游戏怎么办 电脑游戏里面的出现俄文怎么办 龙之谷手游转职业装备怎么办 如果函数值和类型不一致怎么办 qq提现不到账怎么办 提现的钱不到账怎么办 联璧金融提现不到账怎么办 孕早期拉稀拉水怎么办 兔子嘴巴摔烂了怎么办 猫咪耳朵里有黑的东西怎么办 兔子的腿骨折了怎么办