美团收银Android一面凉经(2024)
美团收银Android一面凉经(2024)

笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《美团收银Android一面凉经(2024)》。
应聘岗位: 美团餐饮PaaS平台Android开发工程师
技术一面
- 面试时长: 65min(提问45min + 代码考核10min + 反问10min)
- 代码考核: 14. 最长公共前缀
面试问题(45min)
- 自我介绍
- 当前团队规模
- 是否离职
- 看上去你参与大前端的东西也做得比较多。原生开发和RN开发的占比是多少?
- Native开发和Java和kotlin的占比。
- 项目A(RN页面打开速度优化)
- 播放优化
- Android基础
- 自定义View
- 自定义View有几种构造方法。
- AttributeSet是做什么用的
- 什么时候传值?什么时候两个参数的构造方法会被调用?
- 第一个参数Context, 我们在定义View里拿到context会做什么?
- Activity和Application作为自定义View的Context有什么区别?会有什么问题?
- Application和Activity作为View的Context, View的存活长度。
- Manifest里给Application和Activity设置不同的theme会怎么样?
- 自定义View
- 方法粒度路由框架
- 如何注册
- 为什么要做方法粒度? 是有需求吗?
- 组件化的调用是以反射的形式, 不感知版本的变更。路由修改, 怎么规避?
- 组件化之后, 不知道哪些是我们的依赖方, 怎么去感知有哪些业务使用了我们这个组件的路由?
- ReactNative相关
- 封装Native组件给RN使用, 一般要开发哪几个类?
- 原生组件(接收属性ReactProps; 事件需要回调给JS; 在JS直接调用Native)
- RN写的多吗? TS和JS那个用得比较多?
- 你当前公司也是JS用得多吗?
- RN的类组件生命周期
- 启动页优化, 加载速度的优化, 组件交互或者重复渲染的优化有吗?
- Component和PureComponent的区别
- Kotlin+Jetpack
- Activity获取ViewModel实例如何获取?
- 为什么不直接new一个ViewModel?
- ViewModel的生命周期是比Android长的对吧?ViewModel对象存在了哪里?
- kotlin协程的原理
- 用过Flow吗
代码考核(10min)
14. 最长公共前缀
// 虽然我这里用了kotlin, 但实际美团的线上代码考核平台没有kotlin语言, 但可以用Java。
class Solution {fun longestCommonPrefix(strs: Array<String>): String {val n = strs.sizeval l = strs[0].lengthfor(i in 0 until l) {val ch = strs[0][i]for(j in 0 until n) {if(strs[j].length <= i || strs[j][i] != ch) {return strs[0].substring(0,i)}}}return strs[0]}
}
反问环节(10min)
应聘的岗位是负责什么业务的可以介绍一下吗?
产品线内容:
- 美团收银机(安卓Pad、Window笔记本, 跨Windows和Android)
- 点餐助手/海底捞iPad点餐(跨Android、iOS)
- 老板经营店铺发布活动使用"美团管家"App(跨Android、iOS)
- 内部人员使用的小App
我们组: 美团收银。给这个产品线做基建。
组内分成三个方向:
- 1 UI组件(RN偏多), 90%+(TS or JS)+10%(性能要求高的场景需要桥接Native的组件)。
- 2 RN容器提供桥能力。壳能力、鉴权;业务桥;场景化,个性化的业务桥。(Kotlin KMP, 逻辑层的跨平台, 非UI层的跨平台)
- 3 框架方向。RN用的比较多, 未来希望统一H5、小程序、鸿蒙。目标是保持RN的写法, 一套代码在不同容器里跑起来。
compose也已经在工程里使用了吗?
没用。本质是Flutter的机制, 没有动态化的能力。还是RN比较多。
这个岗位是说这几条线可以选?还是确定某条线?
可以选。看能力图谱。
看我适合哪一条。
第二个方向: 桥能力那块。
第三个方向: 框架能力。需要更底层, c/c++的经验。
鸿蒙目前也在驻场帮我们(美团)做兼容。他们声称未来也会兼容RN的写法。但他们只能兼容RN的原子组件, 我们桥接的一些高性能的Native组件,
他们没办法帮我兼容。目前现在也在考虑这一部分是怎么去弄。
对岗位职级的要求?
框架需要7-8。工作年限稍高。
另外两个稍低。
岗位HC出现这么多, 是因为什么?
人员流动不大, 上半年有同学活水, 大多数同学都是纯native开发, 没做过RN。
之前做主做业务, 近2年转型开始做一些基础建设。然后把业务全都交出去了。
美团餐饮的总部在成都。一部分业务交给成都(偏店内经营), 一部分交给上海(偏营销)。他们业务闭环了, 我们这边纯为他们提供基建。
会需要到成都、上海出差去开会吗?
1 线上开会居多。
2 大客户切店需要出差。
你在团队里的角色?
所属UI组件方向的小组。不是x1节点, 仅仅是初面面试官。
几轮面试?
3轮技术(至少)+1技术面(能力竞争+HC不足)+HR面
总结
- 美团收银的整体面试问题比较密集, 有对项目内容的技术细节拷打, 也有对基础知识的考察。
- 美团有不少业务是跑在RN上的, 面试中也有不少针对RN的问题。包括对RN原理的理解、为RN提供自定义View的流程、提供各种桥能力等。
- 面试官人很nice, 会在我回答问题卡壳的时候, 稍稍引导一下。
相关文章:
美团收银Android一面凉经(2024)
美团收银Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《美团收银Android一面凉经(2024)》。 应聘岗位: 美团餐饮PaaS平台Android开发工程师…...
触发器练习
在product表上创建三个触发器。每次激活触发器后,都会更新operate表。product表和 表的内容如下 Product表内容 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 产品编号 Int(10) 是 否 …...
Hadoop-25 Sqoop迁移 增量数据导入 CDC 变化数据捕获 差量同步数据 触发器 快照 日志
章节内容 上节我们完成了如下的内容: Sqoop MySQL迁移到HiveSqoop Hive迁移数据到MySQL编写脚本进行数据导入导出测试 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 VM 虚拟机…...
Facebook社交平台的未来发展趋势分析
随着科技和社交需求的不断演变,Facebook作为全球最大的社交平台之一,其未来发展的趋势备受关注。从技术创新到社会影响,Facebook正在经历着前所未有的变化和挑战。本文将探讨Facebook未来发展的几个关键趋势,并分析其可能的影响和…...
构建Memcached帝国:分布式部署策略与实践指南
构建Memcached帝国:分布式部署策略与实践指南 Memcached作为一个高性能的分布式内存缓存系统,在面对大规模分布式部署时,需要考虑一系列的策略和最佳实践来确保系统的稳定性和效率。本文将深入探讨Memcached分布式部署的注意事项,…...
Arcgis横向图例设置
想把这个图例改成横向的 点击图例的属性,找到样式...
26.7 Django单表操作
1. 模型管理器 1.1 Manager管理器 Django ORM中, 每个Django模型(Model)至少有一个管理器, 默认的管理器名称为objects. objects是一个非常重要的管理器(Manager)实例, 它提供了与数据库进行交互的接口.通过管理器, 可以执行数据库查询, 保存对象到数据库等操作.objects管理器…...
Android --- Kotlin学习之路:自己写一个SDK给别的APP用(暴漏一个接口,提供学生的身高数据)
今天又来肝kotlin了,主题是:用kt写一个SDK给其他人用,这个小技能在项目中会经常用到,应该有很多小伙伴还不会用,不会的请往下看—⬇ 在项目里面新建一个module 选择Android library,然后点击finish就行了 …...
租用海外服务器需要考虑哪些因素
当企业选择租用海外服务器时需要考虑到哪些因素呢? 对于海外服务器的租用我们需要考虑到机房的位置以及服务器的稳定性如何,所以企业可以选择离目标用户群体比较近一点的机房,以此来降低服务器的延迟度并且能够提高用户的访问速度。 对于机房…...
php将png转为jpg,可设置压缩率
/** * 将PNG文件转换为JPG文件 * param $pngFilePath string PNG文件路径 * param $jpgFilePath string JPG文件路径 * param $quality int JPG质量,0-100,值越低,压缩率越高 * return void * throws Exception */ function convertPngToJpg($pngFilePath, $jpgFile…...
华为HCIP Datacom H12-821 卷37
1.多选题 下面关于Network- Summary-LSA 描述正确的是 A、Network- Summary-LSA中的Metric被设置成从该ABR到达目的网段的开销值 B、Network- Sumary-LSA中的Net mask 被设置成目的网段的网络掩码 C、Network- Summary-LSA 是由ASBR产生的 D、Network- Summary-LSA 中的Li…...
某某会员小程序后端性能优化
背景 某某会员小程序后台提供开放平台能力,为三方油站提供会员积分、优惠劵等api。当用户在油站加油,油站收银会调用我们系统为用户发放积分、优惠劵等。用户反馈慢,三方调用发放积分接口性能极低,耗时30s; 接口情况…...
Docker:基础概念、架构与网络模式详解
1.Docker的基本概念 1.1.什么是docker Docker是一个用于开发,交付和运行应用程序的开放平台.docker使您能够将应用程序域基础框架分开,以便你可以快速开发交付软件.使用docker,你可以管理你的基础架构以管理应用程序相同的方式.通过利用docker用于交付,测试和部署代码的方法,你…...
全国大学生数据建模比赛c题——基于蔬菜类商品的自动定价与补货决策的研究分析
基于蔬菜类商品的自动定价与补货决策的研究分析 摘要 商超蔬菜不易保存,其质量会随着销售时间的增加而变差,影响商超收益,因此,基于各蔬菜品类的历史销售数据,制定合理的销售策略和补货决策对商超的营收十分关键。本文…...
【漏洞复现】飞企互联-FE企业运营管理平台 uploadAttachmentServlet—文件上传漏洞
声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 企互联-FE企业运营管理平台是一个利用云计算、人工智能、大数据、物联网和移动互联网等现代技术构建的云…...
基于深度学习的语言生成
基于深度学习的语言生成(NLG, Natural Language Generation)是一种利用深度学习模型生成自然语言文本的技术。它在智能写作、自动摘要、对话系统、机器翻译等领域有广泛应用。以下是对这一领域的系统介绍: 1. 任务和目标 语言生成的主要任务…...
Kafka Rebalance详解
作者:耀灵 1.rebalance概览 rebalance中文含义为再平衡。它本质上是一组协议,规定了一个 consumer group 是如何达成一致来分配订阅 topic 的所有分区的。比方说Consumer Group A 有3个consumer 实例,它要消费一个拥有6个分区的topic&#…...
在 Markdown 编辑器中插入 空格 Space 和 空行 Enter
1. 空格 Space  2.空行 Enter <br/>...
js逆向-webpack-python
网站(base64):aHR0cHM6Ly93d3cuY29pbmdsYXNzLmNvbS96aA 案例响应解密爬取(webpack) 1、找到目标url 2、进行入口定位(此案例使用 ‘decrypt(’ 关键字搜索 ) 3、找到位置进行分析 --t 为 dat…...
Python精神病算法和自我认知异类数学模型
🎯要点 🎯空间不确定性和动态相互作用自我认知异类模型 | 🎯精神病神经元算法推理 | 🎯集体信念催化个人行动力数学模型 | 🎯物种基因进化关系网络算法 | 🎯电路噪声低功耗容错解码算法 📜和-…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
