资本寒冬下的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% ...
随机推荐
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apach ...
- Linux--主从复制
一 . mysql+centos7 mariadb mariadb其实是跟mysql是一样的,只不过是在centos7上叫做mariadb, 主要是因为mysql被甲骨文公司收购后,可能会有闭源的风险 ...
- mybatis 中的 update 返回值你真的明白吗
记录源地址:https://www.jianshu.com/p/80270b93082a
- vs2017开发IOS(vs2017 xamarin 连接mac)
这两天突然记起巨软的Visual Studio 2017 好像有说可以用C#开发IOS和Android应用,所以就自己去尝试了下生成过程. 相对与IOS来说,Android的生成过程还是比较容易的没有 ...
- git生成ssh公钥方法--远程连接github仓库
先配置全局的用户名和邮箱 $ git config --global user.name "runoob" $ git config --global user.email tes ...
- Web框架的原理和Django初识
一.Web框架的本质 1.本质 实际上Web应用本质上就是一个socket服务端, 而用户的浏览器就是一个socket客户端. 2.最原始的web框架 socket服务端 import socket ...
- mpvue——支持less
安装 安装less和less-loader,我用的是淘宝源,你也可以直接npm $ cnpm install less less-loader --save 配置 打开build目录下的webpack ...
- Magento 2 创建 Widget
Widget是一个更好的工具,可以将内容插入或编辑到CMS页面块或页面中. 什么是小部件? 小部件是Magento 2配置中的强大功能.作为商店管理员,您可以利用小部件来改善生动界面下的店面.小部件允 ...
- Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum (数位dp求和)
题目链接:https://codeforces.com/contest/1073/problem/E 题目大意:给定一个区间[l,r],需要求出区间[l,r]内符合数位上的不同数字个数不超过k个的数的 ...
- python中os.path.isdir()函数的使用
在python 中,os.path.isdir(path)函数主要用来判断函数内部的path是否为一个目录 具体关于这个函数的解说参考博客https://blog.csdn.net/xjp_xujip ...