去哪儿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行为版本号,之后一行使用者的匹配规则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)。
本文来源:https://www.wddqw.com/doc/0ec00102757f5acfa1c7aa00b52acfc788eb9f73.html