777 Interview Notes
  • 🎯ᐕ)୨ 戳我戳我
  • 社招
    • 叨叨
  • 外企
    • 上海外企汇总
  • 数据结构与算法
    • 简介
    • 题型
      • Template
      • 动态规划
        • LEETCODE 5. 最长回文子串
        • LEETCODE 32. 最长有效括号
        • LEETCODE 44. 通配符匹配
        • LEETCODE 62. 不同路径
        • LEETCODE 63. 不同路径 II
        • LEETCODE 64. 最小路径和
        • LEETCODE 97. 交错字符串
        • LEETCODE 120. 三角形最小路径和
        • LEETCODE 122. 买卖股票的最佳时机 II
        • LEETCODE 139. 单词拆分
        • LEETCODE 174. 地下城游戏
        • LEETCODE 188. 买卖股票的最佳时机 IV
        • *LEETCODE 222. 完全二叉树的节点个数
        • LEETCODE 309. 最佳买卖股票时机含冷冻期
        • LEETCODE 343. 整数拆分
        • LEETCODE 494. 目标和
        • LEETCODE 718. 最长重复子数组
        • LEETCODE 837. 新21点
        • LEETCODE 1014. 最佳观光组合
        • LCOF 10-II. 青蛙跳台阶问题
        • LCOF 14-I. 剪绳子
        • LCOF 19. 正则表达式匹配
        • LCOF 42. 连续子数组的最大和
        • LCOF 46. 把数字翻译成字符串
        • LCOF 47. 礼物的最大价值
        • LCOF 48. 最长不含重复字符的子字符串
        • LCOF 49. 丑数
        • LCOF 63. 股票的最大利润
      • 贪心
        • LEETCODE 12. 整数转罗马数字
        • LEETCODE 122. 买卖股票的最佳时机 II
        • *LEETCODE 316. 去除重复字母
        • LEETCODE 435. 无重叠区间
        • LEETCODE 455. 分发饼干
        • LEETCODE 605. 种花问题
        • LEETCODE 860. 柠檬水找零
        • LEETCODE 1046. 最后一块石头的重量
        • LCOF 14-I. 剪绳子
        • LCOF 14-II. 剪绳子 II
      • 双指针
        • LEETCODE 4. 寻找两个正序数组的中位数
        • LEETCODE 19. 删除链表的倒数第N个节点
        • LEETCODE 75. 颜色分类
        • LEETCODE 86. 分隔链表
        • LCOF 04. 二维数组中的查找
        • LCOF 21. 调整数组顺序使奇数位于偶数前面
        • LCOF 24. 反转链表
        • LCOF 52. 两个链表的第一个公共节点
        • LCOF 57. 和为s的两个数字
        • LCOF 58 - I. 翻转单词顺序
      • 滑动窗口
        • LEETCODE 239. 滑动窗口最大值
        • LEETCODE 424. 替换后的最长重复字符
        • LEETCODE 643. 子数组最大平均数 I
        • LEETCODE 1208. 尽可能使字符串相等
        • LEETCODE 1423. 可获得的最大点数
        • LCOF 59 - I. 滑动窗口的最大值
      • 深度优先搜索
        • LEETCODE 207. 课程表
        • *LEETCODE 210. 课程表 II
        • LEETCODE 329. 矩阵中的最长递增路径
        • LEETCODE 547. 省份数量
        • LEETCODE 785. 判断二分图
        • LCOF 12. 矩阵中的路径
        • LCOF 13. 机器人的运动范围
        • LCOF 34. 二叉树中和为某一值的路径
        • LCOF 38. 字符串的排列
        • LCOF 54. 二叉搜索树的第k大节点
        • LCOF 55 - I. 二叉树的深度
        • LCOF 55 - II. 平衡二叉树
        • LCOF 68 - II. 二叉树的最近公共祖先
      • 广度优先搜索
        • LEETCODE 547. 省份数量
        • LCOF 32 - I. 从上到下打印二叉树
        • LCOF 32 - II. 从上到下打印二叉树 II
        • LCOF 32 - III. 从上到下打印二叉树 III
        • LCOF 55 - I. 二叉树的深度
      • 前缀和
        • LEETCODE 560. 和为K的子数组
      • 背包问题
        • LEETCODE 494. 目标和
      • HashMap
        • LEETCODE 128. 最长连续序列
        • LEETCODE 242. 有效的字母异位词
        • LEETCODE 350. 两个数组的交集 II
        • LEETCODE 560. 和为K的子数组
        • LCOF 03. 数组中重复的数字
        • LCOF 35. 复杂链表的复制
        • LCOF 50. 第一个只出现一次的字符
      • HashSet
        • LEETCODE 888. 公平的糖果棒交换
        • LCOF 61. 扑克牌中的顺子
      • 数组
        • LEETCODE 31. 下一个排列
        • LEETCODE 75. 颜色分类
        • LEETCODE 189. 旋转数组
        • LEETCODE 228. 汇总区间
        • LEETCODE 442. 数组中重复的数据
        • LEETCODE 448. 找到所有数组中消失的数字
        • LEETCODE 560. 和为K的子数组
      • 模拟
        • LEETCODE 860. 柠檬水找零
        • LCOF 29. 顺时针打印矩阵
        • LCOF 31. 栈的压入、弹出序列
      • 排序
        • LCOF 45. 把数组排成最小的数
        • LCOF 51. 数组中的逆序对
      • 递归
        • LCOF 06. 从尾到头打印链表
        • LCOF 07. 重建二叉树
        • LCOF 10-I. 斐波那契数列
        • LCOF 16. 数值的整数次方
        • LCOF 24. 反转链表
        • LCOF 25. 合并两个排序的链表
        • LCOF 26. 树的子结构
        • LCOF 27. 二叉树的镜像
        • LCOF 28. 对称的二叉树
        • LCOF 64. 求1+2+…+n
      • 队列
        • LCOF 59 - I. 滑动窗口的最大值
        • LCOF 59 - II. 队列的最大值
      • 字符串
        • LEETCODE 5. 最长回文子串
        • *LEETCODE 165. 比较版本号
        • LEETCODE 205. 同构字符串
        • LEETCODE 242. 有效的字母异位词
        • LEETCODE 678. 有效的括号字符串
        • LEETCODE 830. 较大分组的位置
        • LCOF 05. 替换空格
        • LCOF 20. 表示数值的字符串
        • LCOF 38. 字符串的排列
        • LCOF 45. 把数组排成最小的数
        • LCOF 58 - I. 翻转单词顺序
        • LCOF 58 - II. 左旋转字符串
        • LCOF 67. 把字符串转换成整数
      • 二分查找
        • LEETCODE 4. 寻找两个正序数组的中位数
        • LEETCODE 33. 搜索旋转排序数组
        • LEETCODE 34. 在排序数组中查找元素的第一个和最后一个位置
        • LEETCODE 153. 寻找旋转排序数组中的最小值
        • LEETCODE 154. 寻找旋转排序数组中的最小值 II
        • LEETCODE 278. 第一个错误的版本
        • LEETCODE 704. 二分查找
        • LEETCODE 744. 寻找比目标字母大的最小字母
        • LEETCODE 852. 山脉数组的峰顶索引
        • LCOF 11. 旋转数组的最小数字
        • LCOF 53 - I. 在排序数组中查找数字 I
        • LCOF 53 - II. 0~n-1中缺失的数字
      • 位运算
        • LEETCODE 338. 比特位计数
        • LEETCODE 461. 汉明距离
        • LCOF 15. 二进制中1的个数
        • LCOF 56 - I. 数组中数字出现的次数
        • LCOF 56 - II. 数组中数字出现的次数 II
      • 链表
        • LEETCODE 19. 删除链表的倒数第N个节点
        • LEETCODE 86. 分隔链表
        • # LEETCODE 234. 回文链表
        • LEETCODE 237. 删除链表中的节点
        • LCOF 06. 从尾到头打印链表
        • LCOF 18. 删除链表的节点
        • LCOF 22. 链表中倒数第k个节点
        • LCOF 24. 反转链表
        • LCOF 25. 合并两个排序的链表
        • LCOF 35. 复杂链表的复制
        • LCOF 36. 二叉搜索树与双向链表
        • LCOF 52. 两个链表的第一个公共节点
      • 二叉树
        • LEETCODE 94. 二叉树的中序遍历
        • LEETCODE 95. 不同的二叉搜索树 II
        • LEETCODE 96. 不同的二叉搜索树
        • # LEETCODE 98. 验证二叉搜索树
        • LEETCODE 104. 二叉树的最大深度
        • LEETCODE 108. 将有序数组转换为二叉搜索树
        • LEETCODE 112. 路径总和
        • # LEETCODE 144. 二叉树的前序遍历
        • LEETCODE 543. 二叉树的直径
        • LEETCODE 617. 合并二叉树
        • LEETCODE 958. 二叉树的完全性检验
        • LCOF 07. 重建二叉树
        • LCOF 26. 树的子结构
        • LCOF 27. 二叉树的镜像
        • LCOF 28. 对称的二叉树
        • LCOF 32 - I. 从上到下打印二叉树
        • LCOF 32 - II. 从上到下打印二叉树 II
        • LCOF 32 - III. 从上到下打印二叉树 III
        • LCOF 33. 二叉搜索树的后序遍历序列
        • LCOF 34. 二叉树中和为某一值的路径
        • LCOF 36. 二叉搜索树与双向链表
        • LCOF 37. 序列化二叉树
        • LCOF 54. 二叉搜索树的第k大节点
        • LCOF 55 - I. 二叉树的深度
        • LCOF 55 - II. 平衡二叉树
        • LCOF 68 - I. 二叉搜索树的最近公共祖先
        • LCOF 68 - II. 二叉树的最近公共祖先
      • 堆
        • LEETCODE 215. 数组中的第K个最大元素
        • LEETCODE 1046. 最后一块石头的重量
        • LCOF 40. 最小的k个数
        • LCOF 41. 数据流中的中位数
      • 栈
        • LEETCODE 32. 最长有效括号
        • LCOF 06. 从尾到头打印链表
        • LCOF 09. 用两个栈实现队列
        • LCOF 27. 二叉树的镜像
      • 大数
      • 数学
        • LEETCODE 16. 最接近的三数之和
        • LEETCODE 9. 回文数
        • LEETCODE 238. 除自身以外数组的乘积
        • LEETCODE 990. 等式方程的可满足性
        • LCOF 43. 1~n 整数中 1 出现的次数
        • LCOF 44. 数字序列中某一位的数字
        • LCOF 62. 圆圈中最后剩下的数字
        • LCOF 67. 把字符串转换成整数
      • 多线程
      • 回溯
        • LEETCODE 17. 电话号码的字母组合
        • LEETCODE 46. 全排列
        • LCOF 34. 二叉树中和为某一值的路径
        • LCOF 38. 字符串的排列
      • 设计
        • LEETCODE 146. LRU缓存机制
        • LCOF 30. 包含min函数的栈
        • LCOF 37. 序列化二叉树
        • LCOF 41. 数据流中的中位数
        • LCOF 59 - II. 队列的最大值
      • 分治
        • LCOF 16. 数值的整数次方
        • LCOF 17. 打印从1到最大的n位数
        • LCOF 33. 二叉搜索树的后序遍历序列
        • LCOF 36. 二叉搜索树与双向链表
        • LCOF 40. 最小的k个数
        • LCOF 51. 数组中的逆序对
    • 剑指Offer
      • 03. 数组中重复的数字【排序/哈希/比较交换】
      • 04. 二维数组中的查找【线性查找】
      • 05. 替换空格【字符串】
      • 06. 从尾到头打印链表【栈/递归】
      • 07. 重建二叉树【递归】
      • 09. 用两个栈实现队列【辅助栈】
      • 10-I. 斐波那契数列【DP】
      • 10-II. 青蛙跳台阶问题【DP】
      • 11. 旋转数组的最小数字【二分查找】
      • 12. 矩阵中的路径【DFS】
      • 13. 机器人的运动范围【DFS/BFS】
      • 14-I. 剪绳子【DP/贪心】
      • 14-II. 剪绳子 II【贪心】
      • 15. 二进制中1的个数【位运算】
      • 16. 数值的整数次方【分治】
      • *17. 打印从1到最大的n位数
      • 18. 删除链表的节点
      • *19. 正则表达式匹配
      • 20. 表示数值的字符串
      • 21. 调整数组顺序使奇数位于偶数前面【双指针】
      • 22. 链表中倒数第k个节点【快慢指针】
      • 24. 反转链表【递归/双指针】
      • 25. 合并两个排序的链表【递归】
      • 26. 树的子结构【递归】
      • 27. 二叉树的镜像【递归/辅助栈】
      • 28. 对称的二叉树【递归】
      • 29. 顺时针打印矩阵【模拟】
      • 30. 包含min函数的栈【辅助栈】
      • 31. 栈的压入、弹出序列【辅助栈】
      • 32 - I. 从上到下打印二叉树【BFS】
      • 32 - II. 从上到下打印二叉树 II【BFS】
      • 32 - III. 从上到下打印二叉树 III【BFS 双端队列】
      • 33. 二叉搜索树的后序遍历序列【分治 递归】
      • 34. 二叉树中和为某一值的路径【递归 回溯】
      • *35. 复杂链表的复制【哈希表】
      • 36. 二叉搜索树与双向链表【DFS】
      • 37. 序列化二叉树【BFS】
      • 38. 字符串的排列【DFS】
      • *39. 数组中出现次数超过一半的数字【哈希/摩尔投票】
      • 40. 最小的k个数【堆】
      • 41. 数据流中的中位数【堆】
      • 42. 连续子数组的最大和【DP】
      • 43. 1~n 整数中 1 出现的次数【找规律】
      • 44. 数字序列中某一位的数字【找规律】
      • 45. 把数组排成最小的数【排序】
      • 46. 把数字翻译成字符串【DP】
      • 47. 礼物的最大价值【DP】
      • 48. 最长不含重复字符的子字符串【滑动窗口】
      • 49. 丑数【DP】
      • 50. 第一个只出现一次的字符【哈希表】
      • *51. 数组中的逆序对【归并排序】
      • 52. 两个链表的第一个公共节点【双指针】
      • 53 - I. 在排序数组中查找数字 I【二分查找】
      • 53 - II. 0~n-1中缺失的数字【二分查找/位运算】
      • 54. 二叉搜索树的第k大节点【中序遍历】
      • 55 - I. 二叉树的深度【DFS/BFS】
      • 55 - II. 平衡二叉树【DFS】
      • 56 - I. 数组中数字出现的次数【位运算】
      • 56 - II. 数组中数字出现的次数 II【位运算】
      • 57. 和为s的两个数字【双指针/哈希表】
      • 57 - II. 和为s的连续正数序列【双指针】
      • 58 - I. 翻转单词顺序【双指针】
      • 58 - II. 左旋转字符串【字符串】
      • *59 - I. 滑动窗口的最大值【滑动窗口】
      • 59 - II. 队列的最大值【队列】
      • *60. n个骰子的点数【DP】
      • 61. 扑克牌中的顺子【Set/排序】
      • 62. 圆圈中最后剩下的数字【约瑟夫环】
      • 63. 股票的最大利润【DP】
      • 64. 求1+2+…+n【短路】
      • 65. 不用加减乘除做加法【位运算】
      • *66. 构建乘积数组【DP】
      • 67. 把字符串转换成整数
      • 68 - I. 二叉搜索树的最近公共祖先【迭代/递归】
      • 68 - II. 二叉树的最近公共祖先【递归】
    • 常见问题
      • 俩必须掌握的排序
      • 腾讯常见问题
      • 字节常见问题
  • 计算机网络
    • 简介
    • 基础知识
      • 综述
      • 物理层
      • 链路层
      • 网络层
      • 传输层
      • 应用层
        • HTTP
    • 常见问题
      • 常见问题带答案
  • 操作系统
    • 简介
    • 基础知识
      • 概述
      • 进程管理
      • 死锁
      • 内存管理
      • 设备管理
      • 链接
    • 常见问题
  • 数据库
    • 简介
    • 基础知识
      • SQL 语法
      • 数据库系统基础
    • 常见问题
  • Java
    • 简介
    • 基础知识
      • Java 基础
      • Java 容器
      • Java 并发
      • Java 虚拟机
      • Java I/O
    • 常见问题
  • Android
    • 简介
    • 基础知识
      • Android 基础
      • Android 进阶
      • 开源框架
      • 具体场景分析
    • 常见问题
  • 面经
    • 简介
      • 777牌面筋
    • 腾讯面经汇总
      • 实习
      • 提前批
      • 秋招
    • 阿里面经汇总
      • 杂
      • HR 面准备
    • 字节跳动面经汇总
      • 实习
        • Android
          • 字节跳动客户端一二面面经
          • 字节客户端暑期实习一面面经
          • 字节跳动客户端面试经历
          • 字节实习面筋
          • 移动客户端开发(抖音)面经
          • [21届秋招] 字节——安卓开发实习生 面经
          • 字节跳动-头条Android开发实习生面试
          • 字节 安卓一面面经
          • 字节跳动安卓客户端面经
          • 字节跳动安卓日常实习生凉经
          • 字节 客户端开发 一面
          • 字节安卓实习一面
          • 字节跳动客户端一面面经
          • 字节跳动安卓实习一二面面经
          • BAT集齐!Java/安卓暑期实习面经汇总
          • 字节跳动(Andriod方向)一二三面面经
          • 字节客户端神奇二面
          • 字节抖音(一面客户端开发)
          • 字节跳动安卓、后端实习5轮面经
          • 2020技术开发岗面经:腾讯 & 字节跳动(已Offer)
          • 字节跳动安卓客户端面经(安卓开发零经验)
          • 字节跳动Android客户端一面凉经
          • 西瓜视频一面
          • 头条三面面筋+HR(已上岸,感谢各位牛友的帮助)
          • 字节跳动android实习生一面二面
          • 字节跳动 客户端实习生 1-5面 面经
          • 2019春招实习Android面试总结(后续再发秋招总结)
          • 字节客户端安卓开发三面面经
          • 字节跳动效率工程提前批Android实习面经
          • 字节 客户端 一二面面经 下周三面
          • 【字节跳动安卓暑假实习一面】
          • 字节跳动Android实习面经
          • 字节跳动 Android客户端 一~三面(已收到offer)
          • 字节跳动暑期实习Android一二三hr面经(offer)
        • iOS
          • 字节ios懂车帝实习 三面已过
          • 字节懂车帝IOS实习一面面经
          • 字节飞书iOS客户端实习一面面经
          • 字节飞书iOS客户端二面面经[已OC]
          • 字节跳动iOS客户端实习面经
          • 字节飞书iOS客户端日常实习面经 一二面+HR面
          • 21届字节ios开发日常实习 一二三面面经(已拿offer)
          • 字节iOS客户端实习123面经
          • 字节iOS客户端实习 三次技术面面经
          • 字节跳动 iOS日常实习三面+hr面挂
          • 字节跳动ios客户端一二三四+hr面(已收到offer)
          • 字节IOS客户端实习面经
          • iOS实习面经(字节美团阿里蘑菇街)
          • 字节跳动面经|iOS开发|大三暑期实习(已收offer)
          • 字节ios[深圳]实习一面面经
          • 字节跳动飞书iOS开发一二面
          • 字节跳动ios客户端实习3+hr面经【已拿offer】
          • 字节客户端三面完成后两天接到hr电话 ,许愿offer
          • 字节跳动iOS客户端日常实习一、二、三面凉经
          • 21届大三抖音ios 一面 二面 三面 面经(挂hr……)
          • 字节跳动iOS客户端实习生面经
          • 抖音iOS 暑期实习 过经(问了安卓)
          • 字节跳动 IOS开发实习 面经 (内附投递经验与总结!)
          • 字节三面问题整理
      • 提前批
        • 字节跳动的校招面试精髓(提前批免笔试)
        • 字节提前批移动端面经(1-3面)已拿意向书
        • 字节跳动客户端开发两次一轮游(21 届秋招)
        • 字节提前批。客户端开发一面二面
        • 字节提前批 安卓客户端加面 四面
        • 字节跳动 客户端开发提前批一面凉经
        • 字节跳动提前批安卓客户端 一二三四+HR面(已意向书)
        • 字节跳动提前批客户端至二面(凉透经)
        • 字节提前批-客户端Android一面面经
        • 字节提前批客户端一二三面面经(已凉)
        • 字节跳动抖音Android客户端一二三面面经
        • 字节客户端开发面经
      • 秋招
        • 2020年字节跳动秋招面经(抖音全栈已oc)
        • 字节客户端 一、二面面经,许愿三面~
        • 字节客户端三~四面面经,已oc(更新:已邮件)
        • 字节客户端几乎无安卓基础三面面经
        • 字节客户端抖音一二三面凉经
        • 上海抖音客户端开发面经
        • 字节跳动安卓工程师一面凉
        • 字节跳动客户端一面二面凉经
        • 字节视频架构一面凉经(安卓)
        • 字节客户端一二三面面经,已收到意向书
        • 字节客户端三面面经分享,求一个意向书(已收到意向书)
        • 字节教育客户端一二面,求个offer
        • 字节跳动客户端开发一面+二面
        • pyer零基础字节跳动客户端面试
        • 字节上海抖音客户端
        • 字节跳动客户端开发0基础 一面凉经
  • 杂
    • Git
    • 智力题
    • 设计模式
      • 单例模式
      • MVC MVP MVVM
    • 简历
  • JAVASCRIPT
    • 简介
    • 基础知识
    • 常见问题
由 GitBook 提供支持
在本页
  • 阿里
  • 时间线
  • 碎碎念
  • 面试题
  • 美团
  • 时间线
  • 碎碎念
  • 面试题
  • 腾讯
  • 时间线
  • 碎碎念
  • 面试题
  • 字节
  • 时间线
  • 碎碎念
  • 面试题
  • 总结

这有帮助吗?

  1. 面经
  2. 简介

777牌面筋

春招实习总共投了四家公司:阿里、美团、腾讯、字节。

字节面最早,挂在第三面。美团、腾讯、阿里顺利走完了所有流程。

阿里

蚂蚁财富,数字金融线体验技术部。

时间线

日期

流程

2021/03/17 周三

投简历

2021/03/23 周二晚上

技术一面

2021/03/24 周三下午

通知一面通过,约二面时间

2021/03/26 周五下午

技术二面

2021/03/29 周一晚上

HR 约面试时间

2021/03/30 周二上午

HR 面试

2021/04/11 周日晚上

收到意向书

2021/04/16 周五下午

和 HR 约入职时间

2021/04/27 周二下午

入职小管家通知体检时间

碎碎念

已投,3月23号一面。

一面问了1h20min,就离谱,太久啦,面完嘴皮子都说干了。希望有个二面,保佑🙏。

3月24号傍晚通知过了一面,约了二面时间。

3月26号下午五点二面,只面半小时,问了下面试官为什么二面这么短,回答是一面面得够久了二面就不用问太多了。晚上学长帮忙问了一下,二面通过了,等下周 hr 约面,许愿 hr 面顺利呀 🎋

另外阿里 hr 面试之前记得完成素质测评,素质测评包括10个阅读理解题,10个图表分析题,10个图形推理题,以及98个性格测试题。

吐槽一下性格测试题有些题压根没法选还非要选OTZ。

3月29号晚上十点 hr 打电话过来约面试时间,惊了为什么 hr 这么晚也还在上班。

4月11号晚上11点39分收到意向书,本来打算睡觉了,睡前看一眼手机给我吓醒了,终于上岸啦。

4月16号下午和 HR 约了入职时间,谈了薪资,今年阿里给实习生好多喔,等小管家约体检,我要开始清淡饮食好好睡觉了> <。

面试题

一面

项目

能稍微详细地讲一下你之前做过的安卓的项目,你从中主要做了哪些东西,然后具体 app 的整体架构你都可以讲一下。

刚讲到你接手这个项目,发现这个代码比较乱嘛,具体是指哪些地方比较乱呢,对此有没有做一些改造或者重构呢。

正常一个 APP 它的架构应该是由哪些部分组成呢?或者说是用什么样的模式去设计它?

你刚提到你做了一些功能嘛,你在实现这些功能的时候,有没有遇到一些比较有挑战性的技术难点呢?

那除了自定义 View 的这个问题,你还有没有遇到一些其他的问题?

你新增了本地化的信息存储和管理是吧,你计划是采用什么样的方法做的,然后你的考量是什么呢?

安卓

你刚刚提到了你有事件的处理对吧,那安卓的view之间是会有重叠的,它这个 View之间的手势的事件处理和传递是怎么样的一个逻辑呢?

view 之间的传递是通过哪些方法呢,是怎么进行消费的,比如说有 view 盖在 viewgroup 上了,这个事件他是怎么去消费和处理的。

事件通过这些方法传递给 view 和 viewgroup,那它要怎么去做这个决策呢?要怎么消费呢?不消费和消费是怎么调用的?

比如说 dispatchtouchevent,是 return true 呢还是 return false 呢然后怎么去执行,如果消费的话和不消费的话会怎么样,会怎么做传递,完整的一个消息的量对吧。

你刚刚说你实现了 onDraw,onDraw 你是用什么绘制的呢,那你实现这个方法的时候有没有遇到一些性能问题,对性能这块有没有一些考虑呢。

那你存储这块儿一定是要用数据库去存储吗?那其他方案可不可以实现呢?

安卓上的 classloader 这种机制你了解吗?在安卓上他是一个什么样的机制,有哪些 classloader,都是干嘛用的?

像大型的 APP 比如淘宝支付宝,和安卓原生工程构件的比较小的 APP 有什么区别,这一块儿你有了解过吗,主要的区别。

架构上有区别吗,还是说会一样呢?

安卓上的插件化原理有了解过吗?

Java

你这边是怎么理解面向对象的?像安卓一般都是 Java 对不对,那 Java 是一个面向对象的语言,你个人是怎么理解的,面向对象有哪些特性,在日常开发中,你可以举一个小的案例来说说怎么去应用,怎么利用这些去实现一些功能。

那么面向对象的编程过程中有哪些原则呢?

你讲一讲开闭原则吧

Java 中有哪些集合类,有哪些核心的接口,他们之间是怎么样的一个关系?

那你展开讲一讲 HashMap?

你刚刚有提到哈希,那哈希的原理是什么呀?哈希能用来干嘛呢?

Java 里的对象,在内存中是个什么样的形态,内存中是以什么样的数据结构去存储的呢?

内存中的数据结构有哪些呢?比如说堆栈

堆和栈的差别在哪里呢,为什么会把实例和对象放在堆里,而把一些方法、局部变量放到栈里呢?

计算机网络

项目中也有针对通信协议这块,也做过一些功能是吧,能大概说一下正常的一次网络请求,从 client 到 server,有哪些步骤,你可以按照你自己的理解,和你可以说到的程度,去描述一下。

那么 TCP 的建立连接需要一些什么步骤?

一个通信协议,它的主要构成有哪些呢?

你刚刚提到了 get 和 post 的区别是 get 没有请求体,那么除了这个区别之外,还有其他的区别吗?

https 和 http

有哪些差别呢

操作系统

进程和线程之间的关系

开放性问题

北京首都机场,白天一小时内飞在机场上空的飞机大概有多少,你可以按照你的思维去想一下这个推导过程。

算法

你这块儿日常工作中有用过哪些吗?简单点像是排序这种都用过吗?讲一讲

那快排的时间复杂度和空间复杂度是什么样的

那它最坏的空间复杂度是多少呢,最差的情况下

实习

之前实习的话对上班时间这块儿有过压力吗

其他

平时有没有什么爱好呢

你投的是安卓嘛,你对后面的技术上、工作上、或者是业务上有没有一些想法和规划呢?

你简历上提到过你参加过18年的美国大学生数学建模大赛?

反问

你们是什么部门?

一般做一些什么业务呢?

实习生进来会参与到实际业务的开发吗?

你们部门是996吗?加班多吗?

总共有几轮面试呢

实习生一周的到岗时间卡的很死吗?

二面

实习

实习主要做了一些什么事情,端上做了一些什么事情,有没有做过一些业务功能

你能讲一个你做过这个功能吗,实习里边

项目

你觉得你在这个项目里面学到了什么呢

安卓方面你有什么样的一些小项目

实现离线和在线登录同时自动后台将数据同步,怎么实现的

那我觉得跟一个问题啊,你在同步过程中,比如说断网了怎么办,

你这个传输文件有多大呀,一般。你这个是一张一张传的话,还是说是打包之后再传。对啊,那你这个理论是怎么设计啊,里边是有线程池呢?还是这个列呢,还是怎么样做的呀比如说,你这个一家大小啊

那你就是怎么实现的,具体代码是怎么去写的

比如说你在这个上传的过程中,这个时候可能涉及到耗CPU嘛,怎么能保证你的前端的这个页面不卡顿

我看到你用自定义 View 实现了一个功能是吧,如何自定义 View 呢

我看你还有参加了一个物联网竞赛,主要做了什么呢

你有用到一个图表库对吗,那你在用它的时候,有没有去研究过一些安卓在绘图上面的原理呢

安卓

那你在做这个安卓的过程中有没有遇到过一些性能上的问题

那有没有遇到过OOM

如果安卓的话呢,如果你在主线程做完了以后,你要同步给这个线程,如何同步的

那你看过这个的源代码吗,你从中学到什么

算法

好,我问你一道算法啊,比如说一个二叉树给定了前序遍历和中序遍历,如何重建这颗二叉树?

反问

你们招聘一个实习生更看重的是他的一些什么方面的能力呢

HR 面

你先简单做个自我介绍吧

我看你之前的那个实习经历是在百度,上海还是北京呢

好的,那要么你先谈谈你在百度的这个经历吧,然后你在百度半年左右的时间,对他们整体公司的感觉,以及在公司里边实习的这个感受是怎么样的

OK,那你觉得这段实习经历,给你带来最大的帮助是什么

那你刚刚有提到,在百度这边实习,其实整体来说工作节奏不紧张,你对未来自己工作的那个状态的设想,大概是怎么样的,你希望是有一个什么样的工作状态

你平时除了那个学习之外,主要的时间都用来干嘛呢

我想更多了解一下你现在整个学习的状态是怎么样的,你觉得现在这个阶段最主要的挑战是什么呢

行,那你现在家庭的情况是怎么样的,就是老家在哪里,您未来希望在哪定居,以及有没有对象呢

那你这边有没有什么问题想和我交流一下的

美团

点评事业部

时间线

日期

流程

2021/03/11 周四

投简历

2021/03/16 周二下午

约一面时间

2021/03/22 周一下午

技术一面

2021/03/26 周五下午

通知一面通过,约二面时间

2021/03/30 周二下午

技术二面

2021/04/06 周二下午

通知二面通过,约三面时间

2021/04/08 周四上午

技术三面

2021/04/08 周四下午

offer call

2021/04/09 周五下午

offer mail

碎碎念

已投,3月22号电话一面。

美团是找学长内推的,面完当天晚上学长那边就收到了一面通过的消息,但是 hr 还没打电话过来约二面,估计是春招人比较多比较忙,感觉整个面试流程还是会拉挺长的,要有耐心。

3月26号通知一面通过,约了3月30号二面。

3月30号下午二面,面试官很厉害,聊得非常开心,我觉得美团的面试体验真的超好!整个二面没有专门去问基础知识点,都是围绕着项目展开的,后面直接当场翻我 Github 和博客问了些问题。

4月8号上午三面,面试官感觉是老大,问俩题就喝一口保温杯里的茶哈哈哈哈,聊得很开心,算法题不难但是要我不停优化,想不出更优解直说就行啦,面试官不为难人。反问环节问了业务,给我讲得很详细,还介绍了美团公司的架构什么的,我还反问了美团是不是 996,他说是 10/9/5,年轻人都起不来床哈哈哈哈。另外美团相比于其他公司有一个优惠政策,实习时长是会算到工龄里的,这个我觉得蛮不错滴。

美团面试很慢,一周面一轮,但是给 offer 飞快,4月8号上午三面结束,下午就 offer call,隔天就收到正式邮件啦。

面试题

一面

项目相关

想问一下哪个项目你比较熟悉一些,介绍项目背景、功能点、你解决的一些问题,你描述一下。

你在这个上面哪里花时间比较多,就是你觉得在【怎么用】上面,还是说,在【解决这个问题】上面,花的时间会比较多啊?

登录做了自动登录吗?

登录用户名密码是在后台校验的对吗?那你输入的用户名和密码,就是你有做加密处理吗?

环信视频语音的 sdk,这个视频语音具体实现的原理你知道不,说一说。

Android

你在自定义 View 的时候,那几个方法里,你觉得像 onMeasure 里这个测量方法,适合做什么,不适合做什么,你有了解吗

那你了解安卓里面,他那个事件的传递的方式吗

事件的传递和处理涉及到了哪些方法你知道吗

android 里面 fragment,fragment 的生命周期说一说

Java

你能跟我说一说 Java 里面内部静态类的作用是什么吗

你觉得为什么写一个单例模式的时候要用一个静态类呢?

你觉得像成员变量、成员方法、然后静态类,这些类在加载的时候,顺序是什么样的

数据库

你不是用到数据库吗,你这个数据库的话,如果有版本冲突的话,那你解决冲突的策略是什么

计网

那你发一个网络请求的时候,header 里大概有哪些信息,请求头部里有哪些信息

反问

面试的部门是不是点评事业部

实习生进来的话可以参与到项目的业务开发对吗

美团这边总共是几面

部门是负责一些什么业务呢

二面

笔试和上轮面试

你还记得你笔试的情况吗

你觉得你笔试的问题出在哪里

你对你的第一次面试,有没有什么比较印象深刻的问题

有没有什么你觉得回答得不好的问题

安卓

你理解的自定义 View 是什么样子的

除了你这种场景之外,还有什么样的场景会去使用到呢

我看到你简历上提到了使用 Glide 可以减少内存开销,避免出现 OOM,那我想问一下你实际上有碰到过 OOM 的问题吗

Glide 它除了会避免 OOM,还有什么比较有优势的地方

你有没有觉得它使用起来比较好用,比较方便

框架源码

其实我看到你简历上用到了不少第三方库,那么你是怎么知道要使用这些库的

那除了需求驱使的情况外,你平时会自己去了解一些第三方库吗

这些第三方库你在实际使用中会不会遇到一些问题,然后如果遇到问题是怎么解决的呢

你平时会去看一些源码吗,看的比较多的是什么源码呢

你觉得使用 okhttp 有一些什么好处呢

okhttp 最大的特点是什么,为什么要这么设计呢

你有没有自己实际去做过网络请求呢

你自己实现一个网络请求的时候,是怎么去实现的

那你自己实现一个网络请求,和使用 okhttp 去完成一个网络请求,区别在哪呢

杂

我想了解一下,你是因为你实验室的项目需要安卓才做安卓开发,还是你自己想做呢

那你为什么会想做安卓

你刚才提到会看一些公众号,你觉得有哪些不错的公众号呢

那你有没有遇到过一些,比如网上找不到答案的问题

我看你 Github 上有很多仓库啊,都是干什么的

在学习过程中,有些特别难以理解的点你会自己写代码尝试一下吗

你是怎么搭建自己的博客的

我看你写了个 ConstraintLayout 的博客,你有尝试使用吗

反问

想了解一下就是部门里做一般是做什么业务的呢?

假设这一面能过的话呢,这边是总共是三轮技术面加一轮HR面吗?

办公地点是在哪呢

你们对实习生的要求是怎么样的呢,就是你们比较看重一个实习生的哪些东西呢

那你觉得我今天表现得还可以吗?这个可以说吗?

三面

Java

问面向对象问的很深,面向对象的优点,为什么要用面向对象,各种各样的问题,不太记得了

了解过其他的编程范式呢,比如说,除了刚刚讲到的面向对象,还有面向过程等等

Lambda 表达式用过吗,谈谈你对它的理解

我们刚才谈到一个匿名类的概念,你简单介绍一下匿名类

我们来聊一聊 JAVA 的一个特性吧,介绍一下 JAVA 类的反射机制

还有什么其他的用处吗?

你刚刚提到面向对象的封装,继承,多态这三大特性,会不会用到反射的这样的一种实现方式

那你有没有在你自己写代码的时候,需要你在运行时去生成一个类这样的需求

那我问一下就是你之前不是在做超声客户端吗,你肯定要去发那个网络请求吗,那你发出请求收到响应的时候,需要分析数据对吧,你需要结构化这个数据,转换成一个对象,那么这个对象是如何生成的,你了解吗?

算法

做一个算法题吧(题目我忘了OTZ)

反问

想了解一下就是部门的业务是负责哪一块的呢

这是已经是第三轮技术面试了是吧,如果说我这一轮通过的话是之后就直接 HR 面了吗

你们这边对实习生的一周的到岗时间会有一个要求吗?就是一定要到岗多少天嘛?

想请问这边美团这边是有双休的吗

腾讯

CSIG 腾讯云部门

时间线

日期

流程

2021/03/11 周四

投简历

2021/03

整个三月都没被上海部门捞

2021/04/02 周五下午

技术一面

2021/04/02 周五晚上

电话通知一面通过

2021/04/04 周日上午

短信约二面时间

2021/04/04 周日晚上

技术二面

2021/04/06 周二

邮件通知三面时间

2021/04/08 周四晚上

技术三面

2021/04/09 周五上午

HR 突袭面

2021/04/12 周一下午

云证

2021/04/16 周五下午

offer call

2021/04/19 周一下午

offer mail

碎碎念

已投,3月23号视频一面。

工作城市选了上海以及不接受城市调剂,还是被北京 csig 的地图部门面了一下,hr 在干啥哦,面完挺开心然后问了下城市和面试官双双尴尬笑死哈哈哈。

北京的部门面了无效,于是面试官面完把我放回池子里了,还是挺有效率的。

晚上拿外卖的时候接到了 wxg 深圳的电话,问我要不要面试,因为城市的原因我拒了,吃完饭觉得还是应该面一下,问了一下 hr 能不能反悔,可惜面试官的电话是无法回拨的,所以接到电话的时候一定要想清楚是接受还是拒绝,无法反悔的哦。

腾讯上海的 hc 实在是太少了,蹲一个上海部门捞我面试把 OTZ。

3月27号发邮件捞我面试了,可是时间和字节冲突了于是选择了【时间不合适】让他重新约,就不能打个电话大家平等的约个时间吗兄弟,我真的不太喜欢单方面通知面试时间的招聘流程- -。

3月28号直接发邮件通知3月29号上午面试,3月29号面了五分钟,又是深圳 wxg,于是闲聊五分钟又回池子了,咋就没个上海部门呢- -。

兜兜转转,3月31号终于收到了上海 csig 的面试邀请哇哈哈哈哈不容易,约了4月2号下午一面。

4月2号下午一面结束,晚上我蹲在坑上接到了面试官的电话(……),问我有没有空现在进行第二轮面试,我转头看了看厕所的墙,拒绝了,于是他跟我约了清明假期面试,这是清明都不放假的吗!

4月4号清明节当前上午面试官发短信邀请我面试,于是大清明节晚上八点面了个试。

4月8号晚上6点半,等了面试官半小时,面试官有个会议耽误了,于是在电梯里听完了我的自我介绍哈哈。感觉是一个年纪比较大的面试官,问的问题感觉就是手边有个题库里随机找点题目出来问问我,囊括安卓、Java、数据库、计算机网络、操作系统,一样来了点题目,但是能基本答上他就不会往深的问啦。

面完感觉应该稳了,问到的基本上都答上来了,4月9号起床发现面试状态已经更新到了 HR 面,上午接到 HR 的突袭电话面试,大概聊了半小时,说下周出结果。

4月16号下午收到了 HR 的 offer call,4月19号下午收到了 offer mail,腾讯整个流程也走了将近一个月喔。

面试题

一面

实习

你先介绍一下你这边的情况吧

四月开始实习的话,可以实习到什么时候呢?

我看你刚刚的自我介绍,还是有过实习经历的?讲讲你在百度实习的经历吧

你刚刚提到的这个功能是有一定前置开发基础的还是完全由你开发的呢

安卓

你对安卓了解有多少?

安卓的横竖屏切换的流程你了解吗,涉及到一些什么操作呢

项目

介绍一下你在实验室做的这个项目吧

你刚提到就是有超声探头是吧?它是怎么采集到数据传递给软件的呢

讲一讲你是如何自定义 View 的

你是如何实现存储影像的呢

我看你还提到了使用 Room 数据库

既然提到了 GreenDao,他们都是给他一个对象可以存到数据库里去,他是怎么实现这个过程的?

我看你安卓项目也不少,你对安卓哪方面比较熟悉呢

操作系统

进程和线程之间有什么关系呢

进程和线程之间的通信你了解吗

那还有线程之间的通信呢

如何保证线程安全呢

Java

volatile 你详细讲讲你的理解

比如说经常用 synchronized 修饰一个方法,这个方法是静态的或者非静态的会有什么区别吗

Java 是面向对象的对吧,所有类的基类都是 Object 类,那么 Object 类都有哪些方法

hashcode 你有用过吗

它还有一些线程同步的方法,包括 notify、wait 之类的

== 和 equals 的区别

HashMap 底层是如何去实现的

get 方法是一个怎样的流程

put 这边 put 一个值的时间复杂度是怎么样的

类型擦除你了解吗

计算机网络

打开一个网页的过程

DNS 解析的过程

根域名服务器和顶级域名服务器他们主要负责干什么,有什么区别

讲一下 TCP 三次握手和四次挥手

TCP 和 UDP 的区别是什么

HTTP 的一个请求报文的格式是怎么样的你知道吗

HTTP 为什么是无状态的

登录一个论坛它是怎么做到记住我们的状态的呢?

算法

做个算法题吧,如何寻找一个数组里第 K 大的数

还有其他的方法吗

写一个快速排序吧

它的复杂度是怎样的

反问

想问一下部门的业务

有要求实习生的那个一周的到岗时间吗

结果大概是什么时候能出呢

二面

项目

你能从技术的角度来讲讲说,你项目里面最主要解决了什么样的问题,用了什么样的技术,以及你的收获

你在这个项目里面的话,是有几个人一起协作呢

在实现登录联网时,还有跟后台进行数据同步的这些功能的时候,信息安全方面是怎么考虑的呢

你刚刚提到了非对称加密对吧,那对应的话就会有对称加密,你知道两者的区别是什么吗

那对称加密和非对称加密相关的性能方面有了解过吗

项目中的这个数据,在本地是如何进行存储的呢

选择 Room 数据库的时候有考虑过其他数据库吗,有没有做过对比

你项目中使用了环信的 SDK 实现视频通话,怎么没有考虑使用腾讯的呢?

算法

问一个算法题吧,如何判断一个链表中是否有环?至少给出三种不同的解法

操作系统

操作系统你学过吗,当时课程考了多少分呢?

对于一个进程的话,它里面那个地址空间,有内核使用的和给用户使用的,这个概念你还记得吗?分别会使用多少的?

在32位的操作系统里面的话,它总共的地址空间是多大?

虚拟地址的概念还有印象吗?

计算机网络

TCP 的三次握手和四次挥手你清楚吗?

杂

你对腾讯相关的企业业务有多少了解

你是哪里人呢

就你个人来说,你觉得你相比于其他的候选人,你主要的优势在什么地方

在春节以后,除了教科书以外,还有没有看过其他书籍呢?

你本身在求职意愿方面的话,对安卓这块是比较强烈的是吧?

你读研的原因是什么呢

三面

项目

你介绍介绍你做过的安卓项目吧

Java

你了解 Java 中的几种引用吗?

Java 是一个面向对象的语言,他有一个重要的特性是多态,那么重载和重写有什么区别呢

JVM 内存的区域,哪部分是线程公有的,哪部分是线程私有的呢?

进程之间的通信有几种方式呢

资源竞争的时候会有几种锁,你了解哪几种锁呢

安卓

你可以讲一讲事件的分发机制吗

安卓从点击图标到进入应用,安卓系统到底做了哪些工作?

安卓中的动画你有用过吗?

有没有处理过 ANR 的问题呢,你是如何解决的

计算机网络

TCP 三次握手

数据库

数据库这块接触过吗,用过什么数据库

索引是怎么实现的

能举例子说说哪些查询语句是低性能的吗

杂

你简单评价一下自己最大的优点和缺点

对于公司的选择,你更看重什么呢

HR 面

HR 是直接一个电话突袭面试的,没有提前通知,大概聊了半小时,具体问题没有记下来,就问了问实习时间、实习地点、一周可以到岗的天数、如何选择 offer 还有一些比较常见的问题,聊聊天,没有为难人。

字节

抖音电商部门

时间线

日期

流程

2020/12/22 周二下午

投简历

2020/12/23 周三上午

HR 约面试,由于我的可入职时间太晚(2021年4月)于是延后面试

2021/02/18 周四下午

HR 约一面

2021/02/23 周二下午

技术一面、技术二面

2021/02/24 周三上午

技术三面

2021/02/26 周五下午

微信询问 HR,三面挂啦,没有收到感谢信~

碎碎念

已投,2月23号一二面通过,2月24号三面挂。

面试官笑嘻嘻的跟你聊天不代表稳了哈兄弟们。

我三面全程聊得很开心导致我三面结束就和爸妈出去庆祝了(。。。)

然后过两天通知挂了OTZ

问了 HR 妹子,三面面试官的面评是说我对项目了解过于表面,估计是因为问到了一些底层原理没答好。

这三面问到的算法题,《剑指Offer》题目覆盖率很高,所以剑指的题目必须熟悉。

面试题

上面三家面试的记录我都是录音录下来然后直接把音频转文字来整理的,一个个去听实在是太浪费时间啦。安利一个软件「i笛云听写」,巨巨巨方便。

字节的三轮面试我都是录屏记录下来的,加起来快三个小时了,我实在是不想打开看然后再整理了OTZ这部分面试题就大概回忆一下。

一面重基础,基本上都是一些常见的计算机基础题,包括操作系统、计算机网络,没有问数据库,然后问了问我做过的项目,以及做了一个还是两个算法题。

二面相对于一面来说问得更加灵活,偏场景题,看重分析能力,基本上就是能想到啥就扯啥。

三面主要问我做过的项目,从项目发散开来问问题,由于是第一家面的公司我可能还是准备的不太充分,项目问的比较深,有些点没答好,整体自我感觉还可以,面完还跑出去吃饭庆祝,不过还是挂啦OTZ。

总结

历时刚好一个月左右,最后拿下了美团、阿里、腾讯,考虑了三家部门负责的业务以及转正问题,决定去阿里啦。回头看看就很神奇,去年最想去的是字节,总共投了四家公司,最后除了字节,剩下三家都顺利走完了全部流程,大概是和字节八字犯冲,好的那我就不去字节大小周了,以后拥抱快乐双休。

三月真的很痛苦,被字节挂了之后自信心也掉了一大截,还好都过去啦!切身体会了一番什么叫做柳暗花明又一村,嘿嘿,春招可以圆满结束了!五一节后去阿里实习努力转正啦!

上一页简介下一页腾讯面经汇总

最后更新于3年前

这有帮助吗?

3月30号上午 hr 面试,大概面了20min,聊了聊实习经历,学习状态,未来发展意向这些常规问题,晚上问了一下内推老哥,hr 那边过了,但是阿里蚂蚁这边流程比较长,需要等一到两周发意向书,希望一切顺利,四月可以平安上岸。

🙏