美团金融|安卓客户端|面经|offer|2021届秋招|
32571
2020.10.25
2021.08.09
发布于 未知归属地

image.png

置顶科普

年份是毕业年份,2021是指2021年毕业,不是2021年面试

鲂的面经整理目录(已完结)

1. 美团金融|安卓客户端|面经|offer|2021届秋招|
2. 拼多多|客户端开发|面经|offer|2021届秋招|
3. 网易云音乐|安卓客户端|面经|offer|2021届秋招|
4. 阿里巴巴|客户端开发|面经|2021届秋招|
5. 花旗银行|软件工程师|面经|offer|2021届秋招|
6. 字节跳动|客户端开发|面经|2021届秋招|
7. 叠纸游戏|客户端开发|面经|2021届秋招|
8. 腾讯|客户端开发|面经|2021届秋招|
9. 360|安卓客户端|面经|offer|2021届秋招|
10. 作业帮|IOS客户端|面经|2021届秋招|
11. 滴滴|安卓客户端|面经|2021届秋招|
12. 百度|IOS客户端|面经|2021届秋招|
13. 快手|客户端开发|面经|2021届秋招|
14. 顺丰科技|安卓客户端|面经|offer|2021届秋招|

鲂的内推

1. 内推+校招秋招|美团金融服务平台|多项岗位|北京+上海

鲂的2021秋招经验总结(不定时更新)

1. 分享|2021届毕业生秋招经验总结1-岗位类别介绍
2. 分享|2021届毕业生秋招经验总结2-如何选择offer

鲂的2021秋招算法总结目录(已完结)

1. 分享|2021秋招算法总结1-DFS篇
2. 分享|2021秋招算法总结2-BFS篇
3. 分享|2021秋招算法总结3-链表篇
4. 分享|2021秋招算法总结4-二叉树篇
5. 分享|2021秋招算法总结5-排序算法篇
6. 分享|2021秋招算法总结6-字符串篇

  1. 分享|2021秋招算法总结7-双指针篇
  2. 分享|2021秋招算法总结8-哈希篇
  3. 分享|2021秋招算法总结9-位运算
  4. 分享|2021秋招算法总结10-数组篇
  5. 分享|2021秋招算法总结11-动规篇
  6. 分享|2021秋招算法总结12-栈篇

申明

本序列文章均按本人情况记实撰写,不保证对其他人是否有用。本人疑似被有心团队盯上(只踩不敢发布有用评论)。所以特此申明:爱看就看,不看就关掉链接,我说的一些实话确实会伤害一些幼小和脆弱的心灵,建议关链接保平安。

本人情况

  • 自我认知:非天赋型,比较擅长归纳整理和交流讨论。
  • 学历:211 本(交叉学科),985 通信硕(保)
  • 竞赛:非计算机相关赛事(ACM之类的没参加过),都是一些团队比赛,名次高的相关度不高,相关度高的名次低。
  • 论文和专利:非相关方向
  • 实习:只有一段,时间在大四保研后。研二下学期因为在赶小论文,所以没有参加暑期实习,直接开始找工作。
  • 项目:类型较多,相关经验的略不足。

岗位选择和秋招概述

综合自己的实际情况、兴趣方向和能力范围,从2019年底就明确想找客户端的工作了,但是真正开始大规模投递公司是在 2020.7.16(小论文截稿日)后。大部分有给面试机会的公司都集中在 7-9 月份面试。本人知足常乐,从 9 月底开始就处于收到意向书后等正式 offer 的咸鱼状态了。个人体会:如果选岗比较明确且适合自己,学习路线就会比较明确,可以明显看到自己的不足和成长。

面试准备

  1. 自我介绍
  2. 简历上的项目复盘和查新
  3. 算法学习与归纳
  4. 基础知识学习与归纳(计算机网络、操作系统、数据库、JAVA 基础和安卓基础)

一面(55min)

常规问题

  1. 自我介绍
  2. 为什么选择安卓客户端的岗位
  3. 安卓学习路线
  4. 编程相关的书籍还看了哪些
  5. 有没有写一些博客和开源项目
  6. 学习安卓的时间
  7. 《第一行代码》看了多少
  8. 能提前去实习么

基础知识问题

  1. (Java)String、StringBuffer 和 StringBuilder 的区别
    思路:从可变性和安全性的角度入手分析,如果使用的比较熟练的,还可以从用法入手分析。
  2. (Java)String 的内部实现
  3. (Java)String 对象主要存储在哪块区域(常量池)
  4. (Java)重载和重写的区别
    口诀:重写(两同、两小、一大),重载(方法名一致,形参列表不同)
  5. (Java)HashMap 和 HashSet 的区别
    思路:可以从Map和Set的区别、HashMap和HashSet的方法与底层原理入手分析。
  6. (Java)写一下 HashSet 的实现
    思路:可以用HashMap的key作为HashSet的元素(不可重复性),同时令HashMap的value为同一个Object
    建议:像这种涉及到源码的题目,如果面试时候不记得源码,可以试着先找规律,一步步推理,面试官会给思考时间的。同时一定要记得多跟面试官交流,问清楚需求。
  7. (JVM)运行时数据区
  8. (JVM)创建对象的过程
  9. (JVM)判断一个对象是否被回收
  10. (JVM)新生代和老年代用的垃圾回收策略
  11. (安卓)activity、window 和 view 之间的关系
  12. (操作系统)LRU 的实现
    LRU缓存机制(力扣146题)
    推荐学习链接:
    方法1:哈希表+双向链表
    方法2:源于LinkedHashMap源码
  13. (计网)HTTP的缓存机制

算法题

  1. 查找单向链表的中间结点
    力扣876题
    思路:快慢指针法,循环中快指针走两步,慢指针走一步,在循环结束时,慢指针恰好在中间位置。
  2. 链表的倒数第 k 个节点
    力扣剑指Offer 22题
    思路:快指针先走 k 步,然后快慢指针同步走,最后慢指针恰好在倒数第 k 个节点的位置。

二面(60min)

常规问题

  1. 自我介绍
  2. 一些关于项目的问题,建议项目问题回答遵循 STAR 法则【STAR法则是情境(situation)、目标(target)、行动(action)、结果(result)】。
  3. 开发项目时候遇到哪些比较困难的问题,怎么解决的
  4. 个人职业生涯规划是什么样的
  5. 你希望在什么样的团队里面

基础知识问题

  1. (Java)HashMap、HashTable 和 ConcurrentHashMap 的区别
  2. (安卓)布局文件的区别(各种 Layout)
  3. (安卓)内存不足时候使用的字段(不太了解这方面的知识,强行扯了两句以后商量换题)
  4. (安卓)有没有遇到过一些安卓 crash 崩溃的情况,如何解决的
  5. (安卓)你遇到的内存泄露的情况
  6. (安卓)安卓点九图的使用(没用过,商量换题)
  7. (Java)强引用、弱引用、软引用和虚引用的区别(我还加上了一个终结器引用的解释)
  8. (操作系统)进程和线程的区别
  9. (操作系统)线程的生命周期
  10. (操作系统)sleep和wait的区别
  11. (操作系统)死锁产生的原因
  12. (安卓)ListView的优化措施

算法

最大子序和
力扣53题
思路:很简单的 DP 问题

智力题

倒水问题:一个装了 10L 水的桶,一个 7L 的空桶,一个 3L 的空桶,怎样变成 2 个 5L

三面(75min)

常规问题

  1. 除了 Java 以外,还用了什么语言(回答了 c++ 和 python)
  2. 项目分工
  3. 想选择的城市,自己的家乡
  4. 职业生涯规划

基础知识问题

  1. (语言类)c++ 和 java 在内存管理方面的区别
  2. (语言类)c++ 有垃圾回收么
  3. (JVM)对 gc(垃圾回收)的理解
  4. (JVM)你觉得可达性分析用什么数据结构比较好(垃圾回收的延伸知识)
  5. (JVM)管理内存的策略和机制有哪些
  6. (JVM)垃圾回收算法
  7. (语言类)内存泄露的场景
  8. (语言类)c++ 中的对象类,对象内部的类是如何存储的,内部元素存储在哪些空间里面
  9. (语言类)调用函数的实现机制
  10. (计网)网络传输都做了哪些事
    思路:参考《浏览器中输入域名(url)后发生了什么》问题进行解答
  11. (计网)如何保障网络传输的数据安全
  12. (计网)AES 的加密性能会高于RSA么
  13. (计网)RSA 的实现原理
  14. (计网)MD5 加密以后能解密么
  15. (计网)网络传输中,你只把数据加密了,就能保证网络的安全么?有没有其他的隐患
  16. (计网)有没有了解过如何规避 DNS 劫持
  17. (计网)洪泛攻击的规避方法
  18. (编程习惯)如何把代码设计的更好,更健壮
  19. (编程习惯)常用的设计原则和设计模式
    编程习惯类问题,需要谨慎回答一些自己知道的,因为会顺着你的回答再问一些详细的内容,答不上来就会很尴尬。

算法

  1. 滑动窗口的最大值
    力扣 239 题
    不同点是返回值为List,要注意边界条件
  2. 顺时针打印矩阵
    力扣剑指 29 题
  3. 最小路径和
    力扣 64 题
    不给样例,需要自己想象。
    美团三面时候看到第二题觉得很熟悉,口误说了下:“这不是很简单么”。然后被面试官问了下这题是不是做过。关于“面试中遇到刷过的题,是否应该坦白”的问题,weiwei哥曾经发过,以下是我对这个问题的看法:鲂的分情况讨论

HR面(17min)

  1. 前面的面试结束以后,对美团的基本情况有一定了解了么
  2. 意向城市是上海的原因(简历和最后的业务不在同城而引发的问题)
  3. 实习经历盘问,主要针对简历上的
  4. 实习以后的收获
  5. 选择岗位的偏向
  6. 觉得自己经历过最难的项目是哪个
  7. 你还有其他 offer 么
  8. 你手上这些 offer,你会怎么选
  9. 反问环节:进去以后的部门和岗位,需要自己做选择么
  10. 反问环节:如果有意向书的话,大概什么时候发放

结束语

面试需要实力与运气兼备。如果面试中遇到完全不会的题目,建议直接说不会,面试官会换下一题。如果面试中遇到曾经用过但是记得不太清楚的,先把自己知道的给说出来,然后不断和面试官交流,明晰需求,实在不行的话就直接说自己忘了吧。个人建议:与其在不太熟悉的领域浪费彼此的时间,不如跟面试官沟通下换题。

评论 (24)