有赞 前端工程师面试题

🌙
手机阅读
本文目录结构

有赞 前端工程师面试题

以下哪种数据结构最适合用来检查一段 HTML 代码中所有开始标签是否都有对应的结束标签?

正确答案: B

队列
栈
双向链表
二叉树

给定一个按升序排列的整数数组 以及一个正整数 ,现在需要在数组 中查找两个元素 和 ,使得 ,请问最优算法的时间复杂度是多少?

正确答案: A

现在有一棵 1000 个节点的二叉搜索树,节点上数字范围是 ,现在需要在这棵树中查找数字 365,以下哪些搜索顺序不可能出现(假设算法实现正确)?

正确答案: C

4, 254, 403, 400, 332, 346, 399, 365
926, 222, 913, 246, 900, 260, 364, 365
927, 204,913, 242, 914, 247, 365
4, 401, 389, 221, 268, 384, 383, 280, 365

现在有 25 匹马,不知道每匹马的速度,也没有工具测量它们的速度。假如每场比赛最多只能 5 匹马参加,请问最少需要比多少次才能找出其中最快的 3 匹马?

正确答案: B

6
7
8
9

正确答案: B C D

Cookie的内容都可以通过JavaScript读取
Cookie过多会影响网络请求性能
Cookie可以用来跟踪用户的浏览行为
Cookie可以持久保存

以下关于 WebAssembly 说法正确的是

正确答案: B D

WebAssembly是以二进制原生代码的形式分发的
C语言写的代码可以编译成WebAssembly
WebAssembly是asm.js的一个超集
WebAssembly可以调用JavaScript的函数

为什么通常情况下增加内存可以提高系统性能?

正确答案: C

虚拟内存增加了
更大的内存速度更快
Page fault发生更少了
Segment fault发生更少了

以下哪些数据结构不是二叉树?

正确答案: B

红黑树
B树
Huffman树
区间树(Interval Tree)

以下操作中数组比链表速度更快的是?

正确答案: C E

原地逆序
头部插入
访问中间元素
访问头部元素
随机访问任意元素

有 5 个节点的二叉搜索树可能有几种不同的形态?

正确答案: B

32
42
120
5040

有一个有序的任务列表,需要支持读取操作(get),此外它会不断收到推送,推送有三种类型:任务进度更新推送(update);任务完成推送(done);新任务推送(new)。

  • 当读取(get)时,需要返回一个有序的数组;
  • 当收到任务进度更新推送(update)时,我们需要将对应的任务移到列表的头部;
  • 当收到任务完成推送(done)时,我们需要将此任务从列表中移除;
  • 当收到新任务推送时(new),我们需要将新任务加到列表头部;

每个任务都会有个 taskId 字段唯一标识此任务,尝试设计此任务列表的内部数据结构,让其支持以上的操作(get、update、done、new),并尝试分析这些操作的时间复杂度。

有一对刚出生的兔子(一雌一雄)被放生到一个岛上,兔子会不断繁殖,它们在出生后的第一个月不能繁殖,之后每个月结尾时会生出一雌一雄两只兔子。

请问两年结束之时这个岛上会有多少只兔子? 请用你熟悉的语言实现一个函数计算 年结束之时这个岛上共有多少只兔子。

参考

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了