校园招聘--2020去哪儿秋招前端和软件开发笔试题
- 格式:docx
- 大小:18.83 KB
- 文档页数:12
样例输入 2 10 5 样例输出 4
样例输入 44 12 23 35 44 12 13 24 34 样例输出 1324
3/3 模拟 LRU Cache 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: LRU 全称是 Least Recently Used, LRU Cache 的核心设计思想是, 如果一个数据在最 近一段时间没有被访问到,那么在将来它被访问的可能性也很小。 在 cache 大 小固定的情况下, 如果 cache 满了, 会把最近最久没有访问的元素删掉. 实现程序禁用各种语言基础库中的 LinkedHashMap. 输入 在第一行给定 cache 的大小 m, 对 cache 执行读写操作的次数 n.
2020 去哪儿秋招试题
目录
2020 去哪儿前端秋招试题 ..........................................................................................2 一、问答题............................................................................................................ 2 二、编程题............................................................................................................ 2
2020 去哪儿前端秋招试题
一、问答题
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.
2020 去哪儿秋招笔试试题 ..........................................................................................5 一、编程题............................................................................................................ 5
输入 输入第一行是一个整数 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 的值。需要支持多级属性,比 如{{2}}; (2) {{keyName}}content{{/keyName}}:keyName 对应的值为“真”时,输出 content, 为“假”时不输出 (3) {{#arr}}content{{/arr}}:arr 对应的值为“假“时,输出 content 为“真”时不输出;
样例输入 5 5:4|7 4:3|8 7:2|-1 3:-1|-1 8:-1|-1 2:-1|-1 样例输出 0
编程题 | 40.0 分 3/3
乘方取模 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 给定非负整数 a, b, m, 利用基本的算术运算符(+-*/%)以及位运算符,计算 ab mod m 输入 一行三个非负整数,空格分隔,分 为 a b m 的值,其中 m 不为 0 输出 ab mod m 的结果
2020 去哪儿软件开发工程师校招试题 ......................................................................9 一、编程题............................................................................................................ 9 编程题 | 30.0 分 1/3 ....................................................................................9 编程题 | 30.0 分 2/3 ..................................................................................10 编程题 | 40.0 分 3/3 ..................................................................................11
(4) {{.}}表示数组遍历中当前的元素(可以只考虑基本数据类型)。 (5) {{^keyName}}content{{/keyName}}:keyName 对应的值为“假”时,输出 content, 为“真”时不输出; 注意:如果给定的数据中,没有对应的属性字段,标签替换为空。 输入: 第一行出入模版字符串(长度不超过 1000),字符串中可以包含模版标签,也可 以不包括标签。 第二行输入需要渲染的数据(JSON 字符串,长度不超过 1000)。 输出: 输出对应的 HTML 的片段。 代码输入: <h1>Welcome Qunar-Man</h1>
从第二行开始, 有 n 行操作命令. 操作有两种情况, put 和 get. put 命令格式是 put key value, 表示向 cache 写入数据. get 命令格式是 get key, 标示从 cache 读取数据. 输出 对于 n 行命令中的每一行 get 命令. 如果对于数据存在, 就把 value 在单独一行打印出来. 如果不存在, 就在单独一行打印 null.
样例输入 abc 2 样例输出 ab cb
编程题 | 30.0 分 2/3
BST 判定 时间限制:C/C++语言 3000MS;其他语言 5000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 判断给定的二叉树是否为二分查找树。假设树的每个节点以整数为键值,且不同 节点的键值互不相等。二分查找树成立的判定条件 : 对任何非叶子节点 A,如果 A 存在左子树,则 A 的键值大于其左子树所有节点的 键值,且,如果 A 存在右子树,则 A 的键值小于其右子树所有节点的键值。 输入 第一行:根节点键值; 第二行开始,二叉树的结构,每行代表一组根节点与左右子节点的对应关系,-1 代表空节点。格式: 根节点键值:左子节点键值|右子节点键值 例如, 5:3|-1 表示键值为 5 的节点,左子节点的键值为 3, 右子节点为空节点 假设:所有节点的键值非负,且不超过 1023 输出 判断结果,0 表示输入不是二分查找树,1 表示输入是二分查找树
2020 去哪儿秋招笔试试题
一、编程题
1/3 日本旅行 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 楚乔、宇文玥和燕洵在日本旅行,经过了几天的游玩之后,钱包里出现了大量硬 币,楚乔决定用钱包里的硬币为宇文玥和燕洵在自动贩卖机买水。楚乔的钱包里 有 1 元、5 元、10 元、50 元、100 元和 500 元硬币各 C1,C5,C10,C50,C100,C500 枚。现在要用这些硬币来到自动贩卖机买价格为 A 的饮料,假设自动贩卖机所需 的硬币金额必须是刚刚好,不能多也不能少,最少需要多少枚硬币? 限制条件 0<= C1,C5,C10,C50,C100,C500<=1000000000 0<=A<=1000000000 依次输入 C1,C5,C10,C50,C100,C500 和 A,以空格分隔,输出最少所需硬币数,如 果该金额不能由所给硬币凑出,则返回 NOWAY 输入 依次输入 C1,C5,C10,C50,C100,C500 和 A,以空格分隔 输出 输出最少所需硬币数,如果该金额不能由所给硬币凑出,则返回 NOWAY