Android工程师复盘小米、滴滴的面试全过程,网易offer已收入囊中

news2024/11/24 14:45:46

背景

时间过的真快,16年毕业到现在也有好几年了,最近面试试着投了几十家Android framework工程师的岗位,也面试了好几家,其中包括滴滴出行、小米、合众新能源、网易、最终收到了网易和滴滴offer,小米二面挂掉,合众一个月了还在走流程,最终有幸成功入职去了网易。但是要特别感觉滴滴的领导及hr,真的非常非常好,很感谢他们一直的关照和指导。

面试时的注意事项

简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的。

像我们这种工作3-5年的老程序员,面试流程一般都是电面->现场面->HR面->等着。

不要觉得HR说让你回去等消息就是GG了,他们也要跟你之前的面试官讨论,再向领导汇报,如果说不急可能还要和其他候选人比较,所以HR让你回去等消息绝对不是说明你完蛋了。

面试前准备好自我介绍,1分钟左右就可以,可以写在纸上,电面可以照着念,等你到了现场面了基本也都快背下来你的自我介绍了。

准备好扎实的基础,这是一切的根源,没实力怎么都没用的。

面试中你可以把你的面试官往你会的知识上引导(我遇到过你会什么他不问什么的)。

遇到了设计类题目不要着急,面试官不是为了让你几分钟设计一个高并发高可用设计模式完美的架构,只是想看看你的思路,看看你应变的能力,然后给你些提示看看你能否迅速的调整。

offer都会有的,不要着急,把面试当成一个交流的过程。

需要准备的知识

下面是我在近期面试中整理出来的问题,也就不分公司了,因为没什么意义,大致分类记录一下,目前只想起这么多,不过一定要知道这些问题只是冰山一角,就算都会了也不能怎么样,最最重要的,还是坚实的基础,清醒的头脑。

java面试题

基础知识

  1. 请手写equal方法【String类】,讲讲具体的原理?Object类的equla方法是怎样的?

  2. 请说下String与StringBuffer区别,StringBuffer底部如何实现?String类可以被继承吗,为什么?

  3. String a=““和String a=new String(””)的的关系和异同?String的创建机制如何理解?

  4. 为什么Java中的 String 是不可变的(Immutable)?字符串设计和实现考量?String不可变的好处?


  5. img
    面向对象知识点

  6. 面向对象编程的四大特性及其含义?封装、继承、多态分别是什么?为何要封装?为什么是单继承而不能多继承呢?

  7. 重载和重写的区别?重载和重写绑定机制有何区别?父类的静态方法能否被子类重写?重写是动态绑定,如何理解机制?

  8. 什么是绑定?静态和动态绑定如何区别?动态绑定编译原理是什么?动态绑定运行原理是什么?

  9. 接口和抽象类的区别是什么?接口的意义是什么?抽象类的意义是什么?如何选择抽象类和接口?


  10. img

java数据结构

  1. 在arrayList中System.arraycopy()和Arrays.copyOf()方法区别联系?System.arraycopy()和Arrays.copyOf()代码说明?
  2. Collection集合和Map集合的区别?Map集合的特点?说下Map集合整体结构?
  3. Java集合框架中有哪些类?都有什么特点?集合框架用到Collection接口,这个接口有何特点?
  4. ArrayList添加元素时如何扩容?如何添加元素到指定位置,该操作复制是深拷贝还是浅拷贝?

img

Android面试题:

基础知识点

  1. 说下Activity的生命周期?屏幕旋转时生命周期?异常条件会调用什么方法?
  2. 后台的Activity被系统回收怎么办?说一下onSaveInstanceState()和onRestoreInstanceState()方法特点?
  3. 如何避免配置改变时Activity重建?优先级低的Activity在内存不足被回收后怎样做可以恢复到销毁前状态?

img
高级知识点

  1. 谈谈消息机制Hander作用?有哪些要素?流程是怎样的?简单说一下你的看法!
  2. Handler的post方法和view的post方法有什么区别?为什么说要避免在子线程中手动创建looper?
  3. 可以在子线程直接new一个Handler吗?会出现什么问题,那该怎么做?

  4. img

性能优化面试题:

  1. App启动时候存在白屏或者黑屏是什么造成的?解决的方案有哪些?为何最后要设置setBackgroundDrawable为null?
  2. SharePreference性能优化,可以做进程同步吗?具体是怎么优化的呢?

img

Framework 面试题:

  1. 什么是Binder?为什么要使用Binder?Binder中是如何进行线程管理的?总结binder讲的是什么?
  2. Android中进程和线程的关系?什么是IPC?为何需要进行IPC?多进程通信可能会出现什么问题?
  3. Binder的工作流程是怎样的?Binder主要能提供哪些功能?Binder通信机制原理是怎样的?
  4. Android中为何新增Binder来作为主要的IPC方式?Binder运行机制是怎样的?Binder机制有什么优势?
  5. Android中跨进程通讯的几种方式?实际开发中,有哪些场景使用Binder进行数据传输?
    img
    Android架构面试题:

1.谈谈MVC、MVP和MVVM的使用区别,优势分析?
2. 是否能从Android中举几个例子说说用到了什么设计模式?
3. Retrofit的实现与原理?什么叫做动态代理?
4.谈谈你对Glide和Picasso他们的对比的优缺点?

img
音视频面试:

  1. SurfaceView是做什么?SurfaceView和View的本质区别?SurfaceView优缺点有哪些?
  2. SurfaceView如何保证UI界面的流畅性?如何理解双缓冲机制?
  3. SurfaceView在新的线程中更新画面为何不会阻塞UI主线程?是否跟在子线程中不能操作UI矛盾?
    img

总结

无论是哪家公司,都很重视高并发高可用的技术,重视性能优化,重视Android framework。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。如果这些文字能够帮到你,那就最好了,帮不到就当是我自己的一个记录。最后,希望大家都能找到适合自己的公司,开开心心的撸代码。最后祝大家能找到心仪的工作,拿到满意的offer!

由于篇幅限制,pdf 文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的可以点击私信获取。

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四、Eureka注册中心集群配置

目录 需要两个eureka server项目,之前已经有一个springcloud-eureka 1、在springcloud项目下新建一个聚合项目springcloud-eureka2 2、修改springcloud-eureka2的pom文件,引入eureka-server依赖 3、增加springcloud-eureka2的启动类,开启…

五、基于服务发现获取并访问远程接口

目录 1、在springcloud-order项目中新建controller供外部远程访问 2、在springcloud-member项目中新建controller去访问远程接口 3、运行springcloud-eureka、springcloud-member、springcloud-order项目的启动类 4、访问member服务的接口,通过member服务调用or…

WiFi(Wireless Fidelity)基础(十一)

目录 一、基本介绍(Introduction) 二、进化发展(Evolution) 三、PHY帧((PHY Frame ) 四、MAC帧(MAC Frame ) 五、协议(Protocol) 六、安全&#x…

python进阶--月考二

python进阶--月考二 (一)装饰器(二)创建名为express.py文件,编写以下推导式(25分)(三)创建名为process_test.py的文件,计算1-3000之间的水仙花数(…

xormplus是xorm的增强版,为xorm提供类似ibatis的配置文件及动态SQL支持

简介 xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作。 github地址:https://github.com/armingli/xorm //安装…

荷兰国旗问题与快速排序

实现: 当arr[i]小于等于num时,arr[i]和小于等于num区域下一个数进行交换,小于等于区域右扩一个位置,指针 i 指向下一个 当arr[i]大于num时,指针 i 指向下一个 指针 i 越界时完成 升级版本:将小于、等于、…

存在comsumer group且存在消费行为,但AdminClient获取不到消费offset值

AdminClient 中的listConsumerGroupOffsets获取不到consumergroup; 网上查找资料说: listConsumerGroupOffsets() 请求返回的消费位移信息未及时更新,仍是稍早时刻的状态。 由于 listConsumerGroupOffsets() 请求需要从 Broker 获取最新的位移信息,如果响应结果的更…

ABAP SAT使用说明

SAT简介 SAT是SAP提供的用来替代SE30的程序性能优化分析工具( runtime analysis),功能比SE30更加强大。 创建SAT变式-设置SAT运行属性,默认为default,可以参照创建一个自己的变式。 SAT变式说明 Size Limits: 设置文件最大容量…

【LeetCode: 279. 完全平方数 | 暴力递归=>记忆化搜索=>动态规划 | 背包模型】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Goby 漏洞更新 |商混ERP系统 DictionaryEdit.aspx 页面存在SQL注入

漏洞名称:商混ERP系统 DictionaryEdit.aspx 页面存在SQL注入 English Name:SQL injection exists on Lotus ERP DictionaryEdit.aspx pag CVSS core: 8.5 影响资产数:616 漏洞描述: 杭州荷花软件有限公司开发的商混ERP系统。…

开发板和虚拟机socket报错“connect error: No route to host”

学习socket编程时,将服务器程序运行在开发板上,将客户端应用程序运行在 虚拟机Ubuntu16.04 系统,服务器可以正常开启, 但客户端连接时, 报错“connect error: No route to host” 1、网上大多是以下情况: …

易智编译EaseEditing:计算机顶会不一定比SCI期刊更权威!

计算机SCI期刊和学术会议都是评估学术研究水平和影响力的重要指标,但在不同领域、不同学科、不同评价指标下可能会有不同的权威性。 在计算机科学领域,传统上认为顶级学术会议的影响力和权威性更高。 因为计算机科学发展较快,研究领域广泛&a…

【Linux】8. 环境变量

1. 环境变量的引入 先描述一个现象,我们在执行二进制可执行程序的时候,是需要找到其所在位置的(程序要运行必须先加载到内存,是因为冯诺依曼体系结构规定CPU只能从内存中读取数据),所以这也就是为什么我们在运行前带上./的原因&a…

洛谷P5717-三角形分类

洛谷P5717-三角形分类 题目 这道题更像是初中题,但是怎么能完整的按照题目的意思来解决呢,说实话这个题卡了我有一会儿,要做一次性做出这个题,我觉得需要搞清楚if-if 和if-else if-else if,试想这两个的区别是什么&am…

ChatGPT有意识吗?

​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) ChatGPT是一个计算机程序,它没有意识。它只是根据预设的算法和规则来处理输入和输出。虽然它可以模拟人类的对话,但它没有自己的思想或感觉。它只是根据程序设…

ROS 下 激光扫描仪 YDLidar-G4 使用

环境配置: ubuntu20.04 LTS ROS noetic 编程工具:vs code,远程通过ssh访问 扫描仪:YDLidar-G4 YDLidar驱动: YDLidar SDK YDLidar ROS 功能包 1 . YDLidar-SDK通信协议 雷达扫描输出的数据以十六进制格式输出到通信…

Linux文本之sed流编辑器

一、sed的相关知识及其工作流程 1)sed编辑器的介绍 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓…

使用HDFS底层文件进行HBase跨集群数据迁移

目录 一、概述 二、环境信息 三、HBCK2下载和编译 四、具体操作步骤 4.1 数据同步 4.2 添加元数据 4.3 重新分配region 一、概述 客户集群机房迁移,我们部署的集群也要完成跨集群迁移hbase 表,这里选择迁移Hadoop底层数据来实现hbase的表迁移。 …

Plant Simulation 模型保存历史记录

Plant Simulation 建模是一个长时间的过程,所以做好模型保存历史记录很重要,这次分享一个OOTB(开盒即用/系统自带)的记录保存历史记录的功能。 文中截图于 Plant Simulation 16.0.5 目录 1.功能设置与说明2.使用场景3.总结 1.功能…