去哪儿2018秋招前端笔试题,求好运
去哪儿前端的编程和问答题分享给大家~
问答题
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
需要支持的模版标签有:
(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>