公司倒闭被迫踏上海投简历道路,经历打压受挫后总结的Android面经,互相激励!

  • 红黑树有啥特性?

  • 在oncreate里面可以得到view的宽高吗?

  • view的getwidth和getmesurewidth有啥区别?

  • 遍历hashmap的原理?

  • 23种设计模式

中园博林(有笔试)

  • 如何避免out of menmory和anr?

  • arraymap和hashmap的区别?

  • 如何实现线程同步?

  • 简述android事件分发机制

  • 简述view绘制流程

  • 用两个栈实现一个队列

  • 口头问viewpager嵌套滑动冲突怎么解决?

  • svg动画

  • 属性动画画一个抛物线怎么弄?

立思辰(无笔试)

  • 为了适配多分辨率,引入什么开源框架?

  • 阅读界面书架用什么控件实现?

-布局怎么做到每行的文字左右对齐?

  • 直播界面,微信对话界面实现?

  • 性能优化怎么弄?

vv音乐(有笔试)

  • sax解析xml的优点

  • Contentvalue 键值类型

  • androiddvm的进程与linux的进程说法正确的是?(选择题)

  • Android:gravity和android:layout_gravity的区别?

  • assets与res/raw的区别?

  • 解释layout_weight的作用view如何刷新?

  • animation.animationlistner干什么用的?

  • android常用布局及排版效率

  • collection与collections的区别

  • 匿名内部类是否可以extends其他类?是否可以implement interface(接口)

  • 补间动画常见的效果?有哪几个常见的插入器?

  • override与overload的区别?overloaded的方法是否可以改变返回值的类型?

  • sleep与wait有什么区别?

  • 在android中,请简述jni的调用过程?请结束android.mk的作用,并试写一个android.mk文件(包含一个.c源文件即可)

  • 冒泡排序(代码实现)

  • 猴子偷桃问题代码实现

  • 给出两个链表的头指针比如p1,p2,判断这两个链表是否相交,写出主要思路即可

口头问

  • 简述封装,继承,多态

  • 强软弱虚引用的应用场合输出一个数组,不重复?(有点忘记题目什么意思了)

  • 用四个线程计算数组和(我说用join方法,或者countdownlatch,他说用线程池即可)

  • 什么叫安全发布对象(多线程里面)final?

  • 策略模式和命令模式是啥?

  • 拓扑排序

  • 数组和链表在中间位置的插入效率

  • binder的原理

  • art和dvm在gc上有啥不同?有啥改进?

  • linux和windows下进程怎么通信的?(完全不了解)

  • 性能优化做过什么工作?

  • 一个类实现一个接口,接口引用指向这个类对象,可以不可以调用它的tostring方法?

  • 浏览器,输入url匹配,假设有一亿条url缓存,用什么数据结构匹配?

  • recycleview缓存机制相比listview缓存机制有啥改进?

  • 一个长度为10的arraylist和linklist,在第五条插入,哪个更快?

  • 子类复写父类的equals方法,但是子类增加了一个成员变量int,请问equals方法咋整?

大数医疗(有笔试)

  • 手写hashmap

  • 写生产者消费者模式,不可用syncronized

  • treemap,hashmap应用场景

字节跳动(无笔试)

  • dvm和art的区别

  • 从framework的角度讲activity的启动流程(冷启动)

  • 手写算法,二维数组,每一行,每一列都是升序,找出某数的下标,没有输出[-1,-1],最好的时间复杂度是m+n(行数+列数)

  • zxing二维码开源框架流程

  • contentprovider怎么升级维护?

  • constaintlayout

  • bitmap有几种格式,分别占多少字节

滴滴出行(无笔试)

  • android事件分发机制,如何下发,如何上传?

  • 一个界面下拉刷新要怎么实现?

  • bitmap占用内存多少怎么计算?一个像素占几个字节?

  • threadlocal的原理?

  • framework加载activity的流程

  • arraylist和linkedlist的应用场景

  • 网络请求相关的框架

  • 好几万条短信,滑动卡顿怎么解决?

  • 有没有了解过三方开源数据库(好像是腾讯的什么数据库框架,不仅仅是懂sqlite)

  • 避免内存泄漏,为什么说handler用成员内部类会内存泄漏?activity不是已经到gcroot被切断了吗?还有静态context持有activity的引用会内存泄漏,必须要持有怎么办?(及时释放)

  • 计算viewgroup的层级,递归实现和非递归实现

  • 自己写一个应用,包名就叫android行不行,为什么?

  • 主线程looper如果没有消息,就会阻塞在那,为什么不回anr?

  • 系统进程可以用webview吗?

  • 原子类的了解一个app多进程的好处

  • 一个arraylist,里面全部是int,讲所有值是2的整数的节点删除

  • arraymap了解

  • binder机制

  • shareprefrence原理?是否线程安全和进程安全?

  • 一个app启动页另开一个进程,启动页10s后启动mainactivity,请问5s的时候有几个进程?

  • java内存结构,内存模型

融云(有笔试)

  • 冒泡排序手写

  • 如何判断一个字符串是回文字符串

梧桐车联(电话面试没过)

  • 为什么要引入activity这个组件

  • shareprefrence不是进程安全,假设一个apk两个进程同时修改shareprefrence怎么办?

  • contenprovider已经是进程间通信,为什么还要引入broadcastreceiver?

  • a启动b,b启动c,怎样可以在c界面点back退回到a?

  • startservice和bindservice生命周期有什么不同?

  • 两个应用同时注册一个广播,优先级都一样,哪个会先收到广播?(有序广播?)

  • 还有些其他的,忘记了

蚂蚁金服(电话面试没过)

  • threadlocal原理

  • zxing有过优化提高识别率吗?

京东

  • arraylist里面可以不可以new一个t泛型的数组?

  • 补间动画click事件还在原位怎么解决?

  • 多线程并发

  • 隔代数据库升级

  • 性能优化

面试大厂前的系统复习路线

有时候,选择比努力更加重要,机遇比奋斗更加重要。但是,机会只留给有准备的人。我们只有时刻准备着,才能在机会到来的时候,去抓住它。

这里给大家分享一下我的面试复习路线,有需要的朋友可以参考一下:

1、看视频进行系统学习

前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

2、进行系统梳理知识,提升储备

客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

系统学习方向:

  • **架构师筑基必备技能:**深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO

  • **Android高级UI与FrameWork源码:**高级UI晋升+Framework内核解析+Android组件内核+数据持久化

  • **360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化

  • **解读开源框架设计思想:**热​
    修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack

  • **NDK模块开发:**NDK基础知识体系+底层图片处理+音视频开发

  • **微信小程序:**小程序介绍+UI开发+API操作+微信对接

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取
**小程序介绍+UI开发+API操作+微信对接

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-wx9ZwJhN-1719098326178)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么投资中证全指证券公司指数?

中证全指证券公司指数的代码是399975,有50只成分股,几乎包含了市场上所有主要的证券公司,算是指数基金中投资证券行业的不二选择。 根据天天基金的数据显示,市面上有31只跟踪该指数的基金,规模最大的是南方中证全指证…

EtherCAT笔记(三) —— 主站与从站的硬件组成

1. EtherCAT 主站的硬件组成 EtherCAT主站使用标准以太网控制器,也即EtherCAT主站可以使用以太网控制器的任何设备。当我们有一台带网口的笔记本、工控机,甚至是树莓派也可以作为EtherCAT主站。 EtherCAT协议是对Ethernet协议在实时控制等方面的优化&am…

爬虫笔记14——爬取网页数据写入MongoDB数据库,以爱奇艺为例

下载MongoDB数据库 首先,需要下载MongoDB数据库,下载的话比较简单,直接去官网找到想要的版本下载即可,具体安装过程可以看这里。 pycharm下载pymongo库 pip install pymongo然后在在python程序中我们可以这样连接MongoDB数据库…

git stash Pop 后丢失,要如何找回?

文章目录 须知背景描述解决过程 须知 写在前面:我们都知道 stash list 中如果 pop 出来一条,那 list 里就会少一条,但其实使用 git stash pop 并没有真正地将该条 stash 删掉的,而是删除引用而已,因此当我们误 pop 时…

STM32学习 修改系统主频

前面时钟树的学习说明单片机的主频是可以修改的,那么怎么更改系统的主频,这里做一个简单的介绍。首先要明白,单片机的程序是如何运行,这里简单说明一下。 对应的代码在startup_stm32....文件里面,这里是复位程序的汇编…

vue3封装菜树,递归展示只显示第一层

问题描述 vue3封装菜树,递归展示只显示第一层 解决 需要在递归的组件中导出自己给自己使用

【网络安全的神秘世界】SQL注入漏洞

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 本章知识使用的靶场:DVWA 一、漏洞简介 SQL:结构化查询语言,是一种特殊的编程语言&#…

【设计模式深度剖析】【11】【行为型】【解释器模式】| 以算术表达式求值为例加深理解

👈️上一篇:状态模式 设计模式-专栏👈️ 文章目录 解释器模式定义英文原话直译 解释器模式中的角色1. 抽象表达式(AbstractExpression)2. 终端表达式(TerminalExpression)3. 非终端表达式(Non…

电容的命名规则

给如下参数给采购,就可以获取 还有一些参数需要重视 容值随着环境温度而保持的程度 常规应用时是可以不用看材质,但是如果使用在新能源汽车和极端环境下的电子产品,就需要关注材质,曾有供应商把可用级电容供应车企,导致…

微信小程序学习(六):常用原生 API

🔗API官方文档 1、网络请求 wx.request({// 接口地址,仅为示例,并非真实的接口地址url: example.php,// 请求的参数data: { x: },// 请求方式 GET|POST|PUT|DELETEmethod: GET,success (res) {console.log(res.data)},fail(err) {console.…

vue3源码(五)ref、toRef、toRefs、proxyRefs

1.ref 功能 ref与reactive功能类似,都是将数据变为响应式,ref通常用来定义基本类型数据,如字符串、数字、布尔值等。而reactive用来定义对象(或数组)类型数据。虽然ref也可以用来定义对象或数组类型的数据,但内部会通…

淦!在外包开发的三年给整废了,备战两个月终拿到Android阿里字节哈啰offer总结,阿里P6+这回稳了!

面试时候就感觉不靠谱,因为面试地点是位于近江附近的望江国际里面的温州银行,面试前网上搜了广电运通的信息,说是国企,所以我就硬着头皮接下 offer 了,没想到面试 Android 结果做的 C,而且也是驻场开发。 …

安装react之nvm版本低引起的问题

1.背景 准备搭建一个react,然后看官网文档 创建项目,使用命令行 npx create-next-applatest 创建项目的流程都是正常的。当我准备运行项目的时候,报错了 原先的报错没有了,从网上找了一个类似的 重要的内容是:当前…

[面试题]Jenkins

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

发表在SIGMOD 2024上的高维向量检索/向量数据库/ANNS相关论文

前言 SIGMOD 2024会议最近刚在智利圣地亚哥结束,有关高维向量检索/向量数据库/ANNS的论文主要有5篇,涉及混合查询(带属性或范围过滤的向量检索)优化、severless向量数据库优化、量化编码优化、磁盘图索引优化。此外,也…

k8s 部署 ruoyi 前后端分离项目

本文视频版 https://www.bilibili.com/video/BV17ugkePEeN 参考 https://blog.csdn.net/qq_50247813/article/details/136934090 https://gitee.com/nasaa/RuoYi-Vue-cloud https://www.itsgeekhead.com/tuts/kubernetes-129-ubuntu-22-04-3/ https://kubernetes.io/docs/se…

Kimichat使用案例026:AI翻译英语PDF文档的3种方法

文章目录 一、介绍二、腾讯交互翻译TranSmart https://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译一、介绍 短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢? 二、腾讯交互翻译TranSmart https…

示例:WPF中应用DependencyPropertyDescriptor监视依赖属性值的改变

一、目的:开发过程中,经常碰到使用别人的控件时有些属性改变没有对应的事件抛出,从而无法做处理。比如TextBlock当修改了IsEnabled属性我们可以用IsEnabledChanged事件去做对应的逻辑处理,那么如果有类似Background属性改变我想找…

构建未来应用的核心,云原生技术栈解析

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、云原生技术栈 1、容器和容器编排 1.1 Docker 1.2 Kubernete…

如何在Android中实现多线程与线程池?

目录 一、Android介绍二、什么是多线程三、什么是线程池四、如何在Android中实现多线程与线程池 一、Android介绍 Android是一种基于Linux内核的开源操作系统,由Google公司领导开发。它最初于2007年发布,旨在为移动设备提供一种统一、可扩展的操作系统。…