前端-小公司的面试套路
- 首先聊项目
- 前端八股
- 数据结构
- 介绍一下栈/数组/链表/队列数据结构,使用场景
- 追问:
- 栈有哪几种实现方式(js)
- 数组/链表。
- 实现栈:数组push,pop,链表头插法
- 实现队列:两个指针,头指针,尾指针
- 这两种实现方式哪个更好一点、为什么、哪种方式时间复杂度低
- 一样 都是O(1)
- 怎么用两个栈实现一个队列
- 栈A入队,栈B出队
- 入队操作:当元素要入队时,我们直接将其推入栈 A。
- 出队操作:
- 如果栈 B 不为空,直接从栈 B 中弹出元素即可。
- 如果栈 B 为空,这意味着栈 A 中存放了所有等待出队的元素。这时,我们需要将栈 A 中的所有元素依次弹出,并推入栈 B。这样,栈 A 的底部元素就变成了栈 B 的顶部元素。然后,我们从栈 B 弹出顶部元素,这个元素就是队列的队头元素。
- 算法
- 介绍排序算法,稳定性,复杂度
- 出个场景题问用哪种排序
- 高考成绩:桶排序
- 一万条数据选出最大的十条:堆排序
- 通用场景:快速排序
- 链表:归并排序
- 网络数据包:基数排序
- 手撕
- 计算机网络
- 纯背
- 基本无手撕(给这么少的薪资还写算法不搞笑嘛)