去哪儿2018秋招前端笔试题

问答题

1、HTML中的table元素有2种布局(table-layout)算法,请给出默认值。并详细说明为什么fixed布局要比auto快?

编程题

1、 版本排序

题目描述:去哪儿前端技术团队一直很富有创新性,经常为了解决实际工作的一些痛点,自主开发一些工具,来解决这些问题。这样,工具的版本就成为了很重要的一个点,开发者如何提供正确版本,使用者如何获取正确版本,都是十分重要的。因此,版本都会遵循业界统一的规范---SemVer。常规版本规则如下:

(1) 版本格式:主版本号.次版本号.修订号,例如1.2.3,版本的三个位数都必须存在,并且为0到999之间的整数。

(2) 主版本号:当你做了不兼容的功能修改

(3) 次版本号:当你做了向下兼容的功能性新增

(4) 修订号:当你做了向下兼容的问题修正

当然,使用者不一定会指定版本号,可能使用通配符(例如***)未自动获取满足条件的最新版本。(在本题中,只考虑这种情况表示匹配任意版本例如2.2.*,可以匹配所有2.2.1,2.2.2等;)

现在会给出一个版本列表,并给出使用者的匹配规则,找出符合版本规则而且满足条件的最新版本,并输出,如果没有找到相应结果,则输出0.

输入

输入第一行是一个整数N,之下N(0<N<=10000)行为版本号,之后一行使用者的匹配规则M(只包含数字或者*的版本,而且也是三位)。

输出

5

2.1.4

2.5.7

3.4.6

2.1.8

2.1.0

2.1.*

样例输出

2.1.8

2、在去哪儿,前端工程师,在日常工作中,经常会使用到模版引擎,比较常用的有jQuery Template、artTemplate、Mustache等。现在要求你实现一个简单的类似于Mustache的模版引擎,根据传入的模版字符串和数据,替换模版字符串中的标签,输出出对应的HTML片段。

需要支持的模版标签有:

(1){{keyName}}:输出对象中属性名为keyName的值。需要支持多级属性,比如{{keyName.name1.name2}};

 (2) {{keyName}}content{{/keyName}}:keyName对应的值为“真”时,输出content,为“假”时不输出

 (3) {{#arr}}content{{/arr}}:arr对应的值为“假“时,输出content为“真”时不输出;

 (4) {{.}}表示数组遍历中当前的元素(可以只考虑基本数据类型)。

 (5) {{^keyName}}content{{/keyName}}:keyName对应的值为“假”时,输出content,为“真”时不输出;

注意:如果给定的数据中,没有对应的属性字段,标签替换为空。

输入:

第一行出入模版字符串(长度不超过1000),字符串中可以包含模版标签,也可以不包括标签。

第二行输入需要渲染的数据(JSON字符串,长度不超过1000)。

输出:

输出对应的HTML的片段。

代码输入:

<h1>Welcome Qunar-Man</h1>

个人资料
crazybean
等级:8
文章:61篇
访问:15.7w
排名: 5
上一篇: 去哪儿2018秋招笔试编程题
下一篇:2018秋招今日头条测评题
猜你感兴趣的圈子:
去哪儿网笔试面试圈
标签: keyname、模版、版本号、content、版本、面试题
隐藏