BAT算法题

最全BAT算法面试100题:阿里,百度,腾讯,京东,美团,今日头条

第一:复杂度估算和排序算法(上)

1)时间复杂度和空间复杂度

2)认识对数器

3)冒泡排序

4)选择排序

5)插入排序

6)如何分析递归过程的时间复杂度

7)归并排序

8)小和问题

第二:复杂度估算和排序算法(下)

1)荷兰国旗问题

2)随机快速排序

3)堆结构与堆排序

4)认识排序算法的稳定性

5)认识比较器

6)桶排序

7)计数排序

8)基数排序

9)数组排序后的最大差值问题

10)排序算法在工程中的应用

第三:章栈,队列,链表,数组和矩阵结构

1)栈结构

2)队列结构

3)链表结构

4)数组结构

5)矩阵结构

6)二分搜索的扩展

第四:二叉树结构

1)二叉树结构

2)二叉树的递归与非递归遍历

3)打印二叉树

4)判断搜索二叉树

5)判断完全二叉树

6)判断平衡二叉树

7)折纸问题

8)二叉树节点的前驱节点与后继节点

9)二叉树的序列化和反序列化

第五:和哈希函数有关的三个结构与并查集

1)哈希函数与哈希表

2)布隆过滤器详解

3)一致性哈希结构

4)并查集结构与应用(岛问题)

第六:章图算法

1)图结构的表示方法

2)图的深度优先遍历与宽度优先遍历

3)拓扑排序问题

4)最小生成树问题

5)单源最短路径问题

第七:前缀树,堆结构和贪心算法

1)前缀树

2)堆结构的扩展与应用

3)介绍贪心算法及其相关题目

4)在面试中如何快速的尝试出贪心策略

第八:暴力递归到动态规划

1)递归

2)动态规划

3)如何把暴力递归套路的变成动态规划

算法高级:

第一:KMP算法和Manacher算法

1)KMP算法及其扩展面试题目

2)Manacher算法及其扩展面试题目

第二:窗口内最大值的更新结构和单调栈结构

1)窗口内最大值的更新结构

2)单调栈结构

第三:莫里斯遍历和SortedMap的

1)二叉树的莫里斯遍历

2)跳表结构

3)AVL树和红黑树结构

【今日头条,拼多多题目】

分类算法的理解

  • 决策树的原理
  • 支持向量机
  • 逻辑斯蒂回归

聚类算法的理解

  • 均值聚类,可选的参数,如果确定聚类个数
  • 聚类和分类的异同,举例说明

特征选择算法的理解

集成提升的理解

  • xgboost
  • gbdt

【面试题目】

  1. 二叉树前序递归遍历算法(手写代码)
  2. 二叉树的前中后遍历
  3. 二叉树的文件存储,也就是序列化。
  4. 二叉树遍历,描述下层序遍历。
  5. 二维数组,每行递增,每列递增,任意交换其中的两数,发现并恢复。
  6. 二维数组,每行递增,每列递增,实现查找。
  7. 二维数组,每行递增,每列递增,求第ķ大的数。
  8. 什么样的数据结构可以满足多次插入删除,取最小数,给出时间复杂度。
  9. 介绍二叉树前序遍历非递归遍历算法(手写代码)
  10. 介绍大顶堆和小顶堆
  11. 从一组数中找出和为总和的三个数(本文给出了)
  12. 冒泡排序(手写代码)
  13. 写找函数,在目标串中匹配模式串(要考虑中文字符的情况)
  14. 写一个二叉树的非递归的后续遍历
  15. 写一个简单的正则匹配表达式(将文本中的123.4匹配出来)
  16. 写个动态规划,最长公共子序列
  17. 判断一个字符串是否为另外一个字符串旋转之后的字符串
  18. 前ķ大的数
  19. 单链表的翻转
  20. 去掉连续的重复数字,输出新数组,例如:1,2,2,2,1,3,5 - > 3,5。
  21. 去除字符串S1中的字符使得最终的字符串S2不包含 'AB' 和 'C'。(编号)
  22. 合法括号匹配
  23. 在一个字符串中,找出最长的无重复字符的字串
  24. 在二叉树结点结构中加一个指针域,使其指向层次遍历的下一个结点,特别地,每一层的最后一个结点为空。(编号)
  25. 堆排序(手写代码)
  26. 堆是怎么调整的。
  27. 复杂链表的复制

大数据题目

  1. 100亿数字,怎么统计前100大的?
  2. 10亿个地址,每个地址大小小于56B,要求去重,内存4G。
  3. 1KW句子算相似度(还是那套分块+散列/建索引,但是因为本人不是做这个的,文本处理根本说一片空白,所以就不误导大家了),之后就是一直围绕大数据的题目不断深化。
  4. Q1:给定一个1T的单词文件,文件中每一行为一个单词,单词无序且有重复,当前有5台计算机请问如何统计词频?
  5. Q2:每台计算机需要计算200G左右的文件,内存无法存放200G内容,那么如何统计这些文件的词频?
  6. Q3:如何将1T的文件均匀地分配给5台机器,且每台机器统计完词频生成的文件只需要拼接起来即可(即每台机器统计的单词不出现在其他机器中)
  7. 一个大文件甲和一个小文件B,里面存的是单词,要求出在文件乙中但不在文件甲中的单词。然后大文件阿是无法直接存到内存中的。
  8. 一道题目是如果有一个人注册一个QQ号,如何保证这个QQ号码和之前已存在的QQ号码不重复呢?
  9. 扔硬币,连续出现两次正面即结束,问扔的次数期望
  10. 有100W个集合,每个集合中的字是同义词,同义词具有传递性,比如集合1中有字a,集合2中也有字a,则集合1,2中所有词都是同义词,对这100W个集合进行归并,同义词都在一个集合当中。
  11. 有几个G的文本,每行记录了访问ip的日志,如何快速统计ip出现次数最高的10个ip,如果只用linux指令又该怎么解决;
  12. 海量数据的TOPK问题。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值