Android面试—数据结构和算法(限于Android开发)

前言

最近有一个在字节跳动外包工作工作的朋友和我聊天,他每天都在保持自己的刷题量,且每天都在自己的项目中不断发现问题并解决他,终于让他在大厂的实习中成功突围出来,成为了其中的一名。并表示目前国内的大厂和一些“独角兽”,已经越来越效仿的做法,通过面试给定题编程,来考察数据结构和算法的扎实程度。

因为大厂技术面试中,算法是其中必要的且不可缺少的一个重要环节,业务问题可以好好总结总结,但算法就必须依靠牢固的基础和刷题量。

算法根基不扎实,不仅难过面试,对于代码性能的提升、编程语言的驾驭也会比别人弱很多。因此,现在算法基础不牢固的同学,都很难通过大厂的面试。但是只靠刷题去提升算法能力,进度太慢,而且还容易抓不住重点。

那么,作为一名程序员,该怎么学好算法和数据结构呢?

是埋头看书苦学?还是看视频自学?

那当然不行!因为算法知识点非常繁多,且企业考察的题目也千变万化,并且还会跟实际业务相结合。自学的话,如果没人监督很难坚持,并且没有完整的系统性学习,也没人去指导自己,那么最后会导致的结果就是一知半解,还会浪费了大量的时间成本。

这里小编就要给大家分享一个数据结构和算法文档+大厂算法与数据结构高频面试题了,图文并茂,非常适合有需要学习数据结构和算法的朋友

一,栈和队列面试题

  • 设计一个有getMin功能的栈
  • 由两个栈组成的队列
  • 如何仅用递归函数和栈操作道序一个栈
  • 猫狗队列
  • 用一个栈实现另一个栈的排序
  • 用栈来求解汉诺塔问题
  • 生成窗口最大值数组
  • 构造数组的MaxTree
  • 求最大的矩阵的大小
  • 最大值减去最小值小于或等于num的子数组数量

img

二,链表面试题

  • 打印两个有序链表的公共部分
  • 在单链表和双链表中删除倒数第K个节点
  • 删除链表的中间节点和a/b处的节点
  • 反转单向和双向链表
  • 反转部分单向链表
  • 环形单链表的约瑟夫问题
  • 判断一个链表是否为回文结构
  • 将单向链表按某值划分成左边小、中间相等、右边大的形式
  • 复制含有随机指针节点的链表
  • 两个单链表生成相加链表

img

三,二叉树面试题

  • 分别用递归和非递归方式实现二叉树先序、中序和后序遍历
  • 打印二叉树的边界节点
  • 如何较为直观地打印二叉树
  • 二叉树的序列化和反序列化
  • 遍历二叉树的神级方法
  • 在二叉树中找到累加和为指定值的最长路径长度
  • 找到二叉树中的最大搜索二叉子树
  • 找到二叉树中符合搜索二叉树条件的最大拓扑结构

img

四,递归和动态规划面试题

  • 斐波那契系列问题的递归和动态规划
  • 矩阵的最小路径和
  • 换钱的最少货币数
  • 换钱的方法数
  • 最长递增子序列
  • 汉诺塔问题
  • 最长公共子序列问题
  • 最长公共子串问题
  • 龙与地下城游戏问题

img

五,字符串面试题

  • 判断两个字符串是否互为变形词
  • 字符串中数字子串的求和
  • 去掉字符串中连续出现k个0的子串
  • 判断两个字符串是否互为旋转词
  • 将整数字符串转成整数值
  • 替换字符串中连续出现的指定字符串
  • 字符串的统计字符串
  • 判断字符数组中是否所有的字符都只出现过一次

img

六,大数据和空间限制面试题

  • 认识布隆过滤器
  • 只用2GB内存在20亿个整数中找到出现次数最多的数
  • 40亿个非负整数中找到没出现的数
  • 找到100亿个URL中重复的URL以及搜索词汇的topK问题
  • 40亿个非负整数中找到出现两次的数和所有数的中位数
  • 一致性哈希算法的基本原理

img

七,位运算面试题

  • 不用额外变量交换两个整数的值
  • 不用任何比较判断找出两个数中较大的数
  • 只用位运算不用算术运算实现整数的加减乘除运算
  • 整数的二二进制表达中有多少个1
  • 在其他数都出现偶数次的数组中找到出现奇数次的数
  • 在其他数都出现k次的数组中找到只出现一次的数

img

八:数组和矩阵面试题

  • 转圈打印矩阵
  • 将正方形矩阵顺时针转动90°
  • “之”字形打印矩阵
  • 找到无序数组中最小的k个数
  • 需要排序的最短的数组长度
  • 在数组中找到出现次数大于NIK的数
  • 在行列都排好序的矩阵中找数
  • 最长的可整合子数组的长度
  • 不重复打印排序数组中相加和为给定值的所有二元组和三元组
  • 未排序正数数组中累加和为给定值的最长的数组长度

img

公众号:Android Jasper 专注分享面试题|面试技巧|Android学习资料。(d:16)

#Android##Android面试##android#
全部评论
看到好多分享安卓的啊
点赞 回复 分享
发布于 2022-07-29 16:33

相关推荐

评论
1
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务