当前位置: 首页 > news >正文

字节面试惨败,闭关修炼再战美团(Android 面经~)

作者:王旭

前言

本人从事Android 开发已经有5年了,受末日寒气影响,被迫在家休整,事后第一家选择字节跳动面试,无奈的被面试官虐得“体无完肤”,好在自己并未气馁,于是回家开始回家进行闭关修炼,复习十几天后再战美团,最终4面拿下了offer。特此分享,仅供大家学习参考

字节跳动三面面经

字节跳动一面面试题(1hour):

  • 自我介绍
  • handler机制,sendMessage和post(Runnable)的区别。
  • ThreadLocal原理,底层实现
  • HashMap底层,扩容,LinkedHashMap
  • Service的onBind和onStart差别
  • Activity启动生命周期,A跳转B
  • Android持久化方案,SharedPreference是否可以跨进程通讯。ContentProvider
  • ClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己写的Activity
  • 算法题,约瑟夫环
  • 反问

字节跳动二面面试题(1hour):

  • 自我介绍
  • 项目技术点详解
  • 写过什么自定义View
  • OkHttp代码看过吗,用了什么设计模式
  • MVC、MVP区别,项目中的实现。
  • LiveData和EventBus的相关讨论,真的是讨论,畅所欲言
  • 看过哪些源码
  • SharedPreference相关
  • Android动画了解吗,用过什么
  • TCP、UDP区别,面试时的语音用的是什么,为什么要这么用。
  • 代码题,5个线程对一个int进行累加到1000.

小总结:两面面试官都很和善,所有的问题都是在讨论,我不会的他们也容许我猜一下,然后告诉我猜的对不对……

字节跳动三面面试题(50mins):

  • 自我介绍
  • 浏览器输入URL到渲染全过程
  • Http请求报文响应报文
  • 用过哪些网络库
  • OkHttp的Intercepter
  • Android持久化方式
  • Java线程同步的数据结构
  • 对未来的技术有什么规划?你为什么要学这些技术?

美团点评四面面经

美团点评一面面试题(30分钟):

  • 进程和线程的区别
    除了常规的,还比较了一下两者调度的区别,进程是靠中断来使系统陷入内核态然后完成调度,线程是依靠JVM进行。
  • 线程的状态。
    新建、就绪、运行、阻塞、死亡。不小心把进程的僵死什么的给说了……还好面试官捞了一手
  • TCP属于哪个层、TCP三次握手四次挥手。
  • Activity生命周期,A启动B生命周期变化。
  • 自定义View,需要重写哪几个方法。如果要你实现WIFI信号的显示,那么你会怎么做。
  • Android动画了解吗。
    说了过渡动画,说了自己封装的ObjectAnimator工具类,以及MotionLayout相关使用、以及过渡动画实现共享Item的用法。

美团点评二面面试题(1hour):

  • 自我介绍
  • 为什么基本重写equals方法时也需要重写hashCode方法。
  • 手撕生产者消费者模型,很惭愧……没撕出来。
  • ……

**心得体会:**成绩不好的同学需要谨慎回答关于成绩的问题,不要那么直白,是把双刃剑。华为面试的时候说自己成绩不好,但是有博客和github作为后期努力的支撑,面试官就还是很开心。

美团点评三面面试题:

  • 自我介绍。
  • 如果让你从0开始搭建一款APP,你会怎么做。比如说就是美团外卖。
    • 基础类设计
    • 网络设计
    • 兼容性考虑
    • 代码质量保证
    • 测试相关
    • 设计模式的使用
    • MVVM架构的使用

问了一下美团对于Android应届生的需求,得到的答复是需要CS相关基础好,其他的要求比较宽松。

还有就是学习Android的方法,大佬说多看各种不同APP和优质框架的源码,从源码中学习。

**总结:**问题很少,每题都很致命……而且是没有答案的那种,你得自己思考。这个时候可以许愿一波hr面了。

美团点评HR面:

  • 自我介绍,抓住介绍的点让你详细说说?
  • 期望工作地点
  • 事业群介绍
  • 为什么想要留在北京
  • 为什么不读研究生
  • 如何看待Android开发,为什么不接触IOS呢
  • 刚开始工作压力会很大,你有没有想过怎么处理压力呢
  • 反问
  • 有没有健身房
  • 有住房补贴或者房源推荐吗
  • 为什么来美团?你对美团技术团队的了解有多少?

被字节惨虐后,我是如何拿下美团offer?

(1)第一步是关键:调整心态

由于字节跳动面试没有通过,所以多少都受到了一些影响,所以接下来的面试中,最关键的一步就是要调整自己的心态,以防被自己的消极心态所影响,因为一旦从心底否定了自己,面试过程中就容易出现语言不流畅、说话没逻辑、条理不清晰、回答不全面,这都是面试中很多面试者容易出现的“致命伤”,所以调整心态,沉着冷静地面对是非常重要的。

(2)第二步要梳理:Android核心知识点(15天时间,读完这本pdf)

关于第二步要梳理,实际上就是面试过程中,发现自己的知识储量是比较杂乱的,不知道面试官下一个会问什么,所以对于Android 的知识点有一个清晰的梳理是很有必要的。关于Android核心知识点,手上也有一些整理好的学习文档,需要这份文档的可以直接我私信获得~

(3)第三步要飞跃:恶补+刷题

关于第三步,就是要做到让自己有一个质的飞跃。对于恶补和刷题这两个方面,我自己也整理了我个人的一些文档,也是我自己的一些做法,希望具有参考性:

最后

文章以上内容主要是分享面经和个人的学习建议,内容涉及到很多Android 学习文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,大家可以接直接参考Android 八大知识体系学习~~~

代码改变世界,要早日成为明日大牛,程序员肩上的担子可是很重啊。趁现在开始,还不晚!

最后祝愿你也能顺利拿下大厂offer,共勉!

相关文章:

字节面试惨败,闭关修炼再战美团(Android 面经~)

作者:王旭 前言 本人从事Android 开发已经有5年了,受末日寒气影响,被迫在家休整,事后第一家选择字节跳动面试,无奈的被面试官虐得“体无完肤”,好在自己并未气馁,于是回家开始回家进行闭关修炼…...

【机器学习实战】七、梯度下降

梯度下降 一、线性回归 线性回归算法推导过程可以基于最小二乘法直接求解,但这并不是机器学习的思想,由此引入了梯度下降方法。本文讲解其中每一步流程与实验对比分析。 1.初始化 import numpy as np import os %matplotlib inline import matplotli…...

什么是极速文件传输,极速文件传输如何进行大文件传输

当谈到大文件传输时,人们总是担心大数据文件的大小以及将它们从一个位置交换到另一个位置需要多长时间。由于数据捕获高分辨率视频和图像的日益复杂,文件的大小不断增加。数据工作流在地理上变得越来越分散。在一个位置生成的文件在其他位置处理或使用。…...

Spring Boot 日志

目录 1.概述 2.切换日志实现 3.使用 3.1.日志级别 3.3.日志离线 3.4.详细定制 1.概述 由一些历史原因,JAVA领域存在有很多日志框架,如Log4j、Logback、log4j2。 log4j是Java日志框架的元老,在log4j被Apache Foundation收入门下之后&a…...

好用的研发管理看板工具有哪些?10款主流看板管理软件盘点

10大企业看板工具软件:1.软件开发项目看板 PingCode;2.通用看板软件 Worktile;3.开源看板软件 Wekan;4.免费看板软件 Trello;5.个人和小团队的看板软件 Todoist ;6.开源免费看 Kanboard;7.面向个…...

【软考系统架构设计师】2022下案例分析历年真题

【软考系统架构设计师】2022下案例分析历年真题 【软考系统架构设计师】2022下案例分析历年真题【软考系统架构设计师】2022下案例分析历年真题2022下案例分析历年真题第一题(25分)2022下案例分析历年真题第二题(25分)2022下案例分…...

Java skill - @JsonAlias 和 @JsonProperty

Java skill - JsonAlias 和 JsonPropertyJava skill系列目录:JsonAlias 和 JsonProperty使用 JsonProperty 的麻烦场景:使用 JsonAlias 应对麻烦场景:Java skill系列目录: 【Java skill - 统计耗时用StopWatch】 【Java skill - …...

【实际开发18】- 静态 3

目录 1. 调试与评估 2. 单元测试的管理 1. 单元测试的文档 3. 系统集成的模式与方法 1. 集成测试前的准备 2. 集成测试的模式 3. 大棒集成方法 ( Big-bang Integration) 4. 自顶向下和自底向上集成方法 1. 自顶向下法 ( Top-down Integration ) 2. 自底向上法 ( Bott…...

【swagger2】开发api文档

文章目录一、swagger2 简介背景Open API ???swagger2的作用swagger2常用工具组件:二、Springfox三、springBoot使用swagger2(简单示例)四、Swagger-UI使用五、配置文件1、配置类:给docket上下文配置api描述信息2、配置类&#…...

Github 上如何提交 pull request

什么是复刻(forking)? 我们可以通过复刻操作将喜爱的仓库保存自己的Github账户中,以便独立地对其进行操作。 通过复刻,我们可以得到包含完整版本历史的目标仓库的实例,之后可以对复刻得到的仓库进行任意操作而不会影响…...

Redis面试知识

概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能…...

Spring面试重点(四)——Spring事务

Spring事务 事务的方式 spring中使用事务有两种方式,一种是编程式事务,一种是声明式事务。编程式事务推荐使用TransactionTemplate,实现TransactionCallback接口,需要编码实现;声明式事务只需要在函数增加注解Transa…...

♡ — MySQL 存储引擎

MySQL 存储引擎架构 MySQL 存储引擎采用的是插件式架构,支持多种存储引擎,我们甚至可以为不同的数据库设置不同的存储引擎以适应不同场景的需要;存储引擎是基于表的,而不是数据库。 MyISAM 和 InnoDB 的区别 MySQL 5.5 之前&am…...

大数据技术架构(组件)34——Spark:Spark SQL--Optimize

2.2.3、Optimize2.2.3.1、SQL3.3.1.1、RB1、Join选择在Hadoop中,MR使用DistributedCache来实现mapJoin。即将小文件存放到DistributedCache中,然后分发到各个Task上,并加载到内存中,类似于Map结构,然后借助于Mapper的迭…...

Zookeeper实现分布式锁

文章目录ZK节点类型watch监听机制Zookeeper实现分布式锁锁原理创建锁的过程释放锁的过程ZK锁的种类代码实现Zookeeper是一个开源的分布式协调服务,是一个典型的分布式数据一致性解决方案。 分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅,负载均…...

MFC 添加重新启动管理器支持

重启管理器是添加到 Visual Studio for Windows Vista 或更高版本操作系统的功能 如果发生意外关闭或重启,重新启动管理器将为你的应用程序添加支持。 重新启动管理器的行为取决于应用程序的类型。 如果你的应用程序是文档编辑器,则重新启动管理器让应用…...

一文带你深刻的进入Python,并且了解Python的优缺点

最近几年Python被吹的神乎其神,很多同学都不清楚Python到底能干什么?就盲目去学习Python,今天我就Python的应用领域来简单盘点一下,让想学习Python 的同学找对方向不迷茫。 2. Python 的特点 这里就谈谈自己的看法,首先 Python是…...

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4)

别具一格,独此一家,原创唯美浪漫情人节表白专辑 不一样的惊喜哦~!(html5,css3,svg)表白爱心代码(复制就可用)(4) 目录 款式四:时光的记忆款 1、拷贝完整源代码 2、更新时光盒所…...

编译原理—翻译方案、属性栈代码

系列文章戳这里👇 什么是上下文无关文法、最左推导和最右推导如何判断二义文法及消除文法二义性何时需要消除左递归什么是句柄、什么是自上而下、自下而上分析什么是LL(1)、LR(0)、LR(1)文法、LR分析表LR(0)、SLR(1)、LR(1)、LALR(1)文法之间的关系编译原理第三章习…...

链表

一、从尾到头打印链表题目&#xff1a;输入一个链表&#xff0c;按链表从尾到头的顺序返回一个ArrayList。解题思路&#xff1a;使用栈作为中转&#xff0c;可以实现倒置打印classSolution { public:vector<int> printListFromTailToHead(ListNode* head){//使用栈完成中…...

Taotoken用量看板与成本管理功能的实际使用体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板与成本管理功能的实际使用体验 对于需要持续调用大模型API的项目而言&#xff0c;成本的可观测与可控性是管理中的…...

边缘AI与TinyML在医疗影像筛查中的实战:从模型轻量化到临床部署

1. 项目概述&#xff1a;当AI成为医生的“仿生眼”在医疗诊断领域&#xff0c;尤其是癌症早期筛查中&#xff0c;人类医生的经验与肉眼观察长期是金标准。然而&#xff0c;这个标准背后隐藏着巨大的不确定性&#xff1a;研究显示&#xff0c;即便是标准的放射影像学检查&#x…...

Super IO插件:Blender文件操作效率革命,从繁琐拖拽到智能粘贴

Super IO插件&#xff1a;Blender文件操作效率革命&#xff0c;从繁琐拖拽到智能粘贴 【免费下载链接】super_io blender addon for copy paste import / export 项目地址: https://gitcode.com/gh_mirrors/su/super_io Super IO是一款革命性的Blender插件&#xff0c;通…...

ChatGPT对话转Markdown工具:自动化构建个人知识库

1. 项目概述&#xff1a;从聊天记录到结构化文档的转换利器如果你和我一样&#xff0c;经常在各类聊天工具里和ChatGPT、Claude这类大模型进行深度对话&#xff0c;那么你一定遇到过这个痛点&#xff1a;一段精彩的、充满洞见的对话&#xff0c;最终只能以杂乱的、非结构化的文…...

本地AI任务编排工具AgentForge:从看板管理到多代理协作

1. 项目概述&#xff1a;一个能调度AI编码代理的本地看板工具如果你和我一样&#xff0c;日常开发中经常需要让Claude Code这类AI编码助手去执行一些重复性的代码审查、重构或者生成任务&#xff0c;并且希望这些任务能像CI/CD流水线一样被编排、调度和监控&#xff0c;那么你一…...

感统训练的真实效果能持续多久?会不会反弹?

​直接给出结论&#xff1a;常见的感统训练维持周期短、反弹率高&#xff0c;多数孩子训练效果仅能保持3-6个月。一旦停止课程&#xff0c;大部分孩子会逐步退回原有状态。感统只能调整身体感官反应&#xff0c;无法从根源提升大脑自控力&#xff0c;治标不治本。感统训练适用人…...

从等待到掌控:构建个人化网盘下载工作流的3个关键步骤

从等待到掌控&#xff1a;构建个人化网盘下载工作流的3个关键步骤 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

终极指南:如何免费快速解决Notero Zotero插件安装失败问题

终极指南&#xff1a;如何免费快速解决Notero Zotero插件安装失败问题 【免费下载链接】notero A Zotero plugin for syncing items and notes into Notion 项目地址: https://gitcode.com/gh_mirrors/no/notero 你是否曾经兴奋地下载了Notero这款强大的Zotero-Notion同…...

Open UI5 源代码解析之1378:DestinationField.js

源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.ui.integration\src\sap\ui\integration\editor\fields\DestinationField.js DestinationField.js 文件分析 文件定位与整体判断 DestinationField.js 是 sap.ui.integration 编辑器体系中的一个专用字段…...

Sonos语音控制功能大揭秘:常用指令、局限与第三方助手对比

ZDNET核心要点Sonos音箱内置语音助手&#xff0c;其语音控制虽不如其他助手智能&#xff0c;但并非一无是处&#xff0c;每日闹钟、天气预报和定时器能提升使用体验。Sonos语音控制使用体验并非智能家居爱好者&#xff0c;但家里有好几台Sonos智能音箱。虽不太喜欢自动语音助手…...