资本寒冬下的android面经
在2018年10月初,公司倒闭,无奈走上找工作的道路,不想自己平时图安逸,不思进取,再次找工作才发现,android行业也不是站在风口上,猪也能吹上天的世道了.作为技术小菜的我,再找工作那几个月真是战战兢兢,被打击得信心全无.记录下我的面试经历,分享给需要的人.勉励自己要时时进步,才不会被淘汰.
声明:作者:璇_c2be
链接:https://www.jianshu.com/p/089861329c1a
猎豹移动:(有笔试)
atomicinteger内存模型
static编译时有啥不同,static 语句块,static变量,static方法,构造初始化顺序(静态绑定)
animation和animator的用法,概述实现原理
Handler,looper,messagequeue,thread,message,每个类功能,关系?
Mvc,mvp的差异
app闪退的原因有哪些?每种情况简述分析过程
如果一个app存在多进程,请列出全部的ipc方法
操作系统中进程和线程有什么联系和区别,系统什么时候会在用户态和内核态中切换?
如何加载ndk库?如何在jni中注册native函数,有几种注册方式?
一个app如果性能不好,怎么分析?
饿了么(无笔试)
设计的六大原则
如果hashmap key不一样,但是hashcode一样会怎么样?
okhttp有什么优秀的设计模式?builder模式有什么好处?责任链模式有什么好处?
懒汉模式单例为什么加volaitle?
hashmap是否线程安全?不安全会出什么问题?
concurrenthashmap读写分别是啥情况?
bindservice和startservice生命周期有啥不同?
广播有几种?广播是观察者模式?跨进城广播也是观察者模式吗?
ams是怎么找到启动的那个activity的?
a-b-c界面,其中b是singleinstance的,那么c界面点back返回a界面,为什么?怎么管理栈的?
红黑树有啥特性?
在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事件还在原位怎么解决?
多线程并发
隔代数据库升级
性能优化
作者:璇_c2be
https://www.jianshu.com/p/089861329c1a
阅读更多
APK 的前世今生:从 Android 源码到 apk 的编译打包流程
相信自己,没有做不到的,只有想不到的
资本寒冬下的android面经的更多相关文章
- 对于家政020 APP平台如何走出资本寒冬?
成都亿合科技小编了解到,随着O2O烧钱大战过去,网络上流传的一份O2O项目死亡名单上显示,近年来,汽车.社区.旅游.教育等16个领域的多个O2O项目关门大吉,仅外卖餐饮O2O项目倒闭的就有十几个.只有 ...
- 汽车超人CEO郑超:不惧资本寒冬 融资已增至57亿
汽车超人CEO郑超:不惧资本寒冬 融资已增至57亿 来源:互联网 时间:2017-06-01 阅读:3次 篇一 : 汽车超人CEO郑超:不惧资本寒冬 融资已增至57亿 近日记者获悉,金固股份旗 ...
- ubuntu 14.10 lts 64-bits环境下使用Android Studio
距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...
- Mac下设置Android源代码编译环境
在Mac下编译Android最麻烦的就是设置Android的编译环境了,做完这一步基本上剩下的就是近乎傻瓜式的操作了.说起来也简单就三步,设置大小写敏感的文件系统.安装编译工具.设置文件系统同时能打开 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- [转]phoneGap3.0安装步骤(以windows下的android环境为例):
phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) ...
- Windows下修改Android手机的hosts
Windows下修改Android手机的hosts 1.首先,手机是Root过的. 2.连接手机和电脑, adb shell 进入命令行. 3.获取root用户权限: su -root 4.不知道为何 ...
- Ubuntu16.04 LTS 下安装 Android Studio 2.2.2 步骤
下载 Android SDK,官网:www.android.com 我相信很多人跟我一样,进不去.Android Studio 中文官网 www.android-studio.org 进去下载, 在终 ...
- 【转载】菜鸟Ubuntu下安装Android Studio
原文:http://forum.android-studio.org/forum.php?mod=viewthread&tid=236&extra=page%3D1%26filter% ...
随机推荐
- Kubernetes — 为什么我们需要Pod?
不过,我相信你在学习和使用 Kubernetes 项目的过程中,已经不止一次地想要问这样一个问题:为什么我们会需要 Pod? 是啊,我们在前面已经花了很多精力去解读 Linux 容器的原理.分析了 D ...
- 一、Redis-NoSQL数据库
转载:[https://blog.csdn.net/aaronthon/article/details/81714528 ] [https://www.cnblogs.com/StanleyBlogs ...
- poj-3281(拆点+最大流)
题意:有n头牛,f种食物,d种饮料,每头牛有自己喜欢的食物和饮料,问你最多能够几头牛搭配好,每种食物或者饮料只能一头牛享用: 解题思路:把牛拆点,因为流过牛的流量是由限制的,只能为1,然后,食物和牛的 ...
- 两小时入门Docker
引入 Docker是什么? Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议 ...
- P1313 计算系数 HMR大佬讲解
今天,HMR大佬给我们讲解了这一道难题. 这道题明显的二项式定理,自然想到了要用到杨辉三角了.基本思路就是先用for循环求出杨辉三角,这样就求出了x的n次方的系数和y的m次方的系数. 这是大佬的AC代 ...
- (二叉树 DFS 递归) leetcode 101. Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- mysql加速导入数据的简单设置
mysql加速导入数据的简单设置 # 修改前查询参数值 show variables like 'foreign_key_checks'; show variables like 'unique_ch ...
- 关于ddl(新增字段)对数据库锁表|读写操作的影响_资料
1.对一个表执行ddl(新增字段)会不会阻塞表,影响读写? 在一次项目升级之前需要执行一个新增字段的脚本(alter table...),表的数据量是260多万,执行时间是72秒,感觉略长,不知道会不 ...
- 基于alpine制作php镜像
alpine包搜索https://pkgs.alpinelinux.org/ 安装依赖库 apk add --no-cache xxx 可以基于php apline镜像自行增加或删除扩展. https ...
- django - 总结 - cnblog 知识点
1.图像预览 点击头像------>点击input img和input重合; img在label,input-->display:none $("#avatar").c ...