近期一个多月面试过一下公司(均为实习):

腾讯:内推一面卒。

正式校招拿到offer

阿里:内推二面卒。

蘑菇街:面完三面技术面,等待HR面

网易:拿到offer。

能够看到,大部分问题不难,可是能回答对和回答的好不好又是两个两个不同的情况了。不论什么问题都尽量回答的越具体,越清晰。越全面,面试官就会越觉得你掌握的越好。

比方问一下内存泄露,那么试着多列举一些情况:

首先解释内存泄露是什么。

最常见的handler引用Activity。static+WeakReference解决

耗时线程

bitmap调用recycle,3.0前和后,3.0后偷换native内存

想持久化Drawable,定义成static,老版本号他持有view,view持有activity,可能间接造成activity泄露。4.0已修复。

广播记得取消注冊

除此之外,如能提到jdk1.6中String的substring方法。那效果更好。

再比方问到性能优化:

从布局优化ViewStub,merge,include

overdraw。GPU选项观察overdraw情况

view的ondraw。尽量别new对象,不能耗时,60fps,16ms。GPU加速

必要情况下使用SurfaceView

避免内存泄露(又回到上一个问题了)

ListView的优化:holder。分页载入,滑动停止后再下载图片等

Bitmap的优化。载入单个bitmap。多个bitmap时的内存硬盘缓存

利用android中的一些数据结构比方ArrayMap和SparseArray

少用枚举。多用static訪问快

下面是面试中问到的问题,可能不全,由于隔得时间有些长可能忘记了。

jvm:

内存模型,特点。类信息在哪个区

栈和堆的差别

GC怎么知道一个对象要被回收,

GC Root

强引用,软引用,弱引用,虚引用

类载入过程

在项目中哪里使用过JVM的知识

java:

java基本数据类型

多态是什么,怎么实现的

==和equals

hashcode

HashMap和HashTable差别

HashMap,LinkedHashMap底层实现

HashMap的整过过程,怎么设计一个hash函数散列均匀

并发容器包,ConcurrentHashMap原理

ArrayList和LinkedList差别

虚函数实现

反射。项目中啥时候用过。

wait和sleep的差别

并发同步,synchronized为什么是重量级的方式

votilekeyword的特点

线程和线程池,线程池的实现的原理

两个线程依次打印一串数字

NIO。原理。裸写NIO的难点在哪

unix的I/O模型

数据结构算法

堆得实现。数组保存二叉树

堆排序

高速排序

数组找反复数字,位置

讲一下常见排序算法的思想和复杂度

android:

activity生命周期,每一个函数调用发生在什么情况下

Fragment生命周期。开发中须要注意什么问题

android中几种上下文的差别

bitmap优化。复用,偷换native内存,BitmapFrctory.option几个參数

缓存策略,LruCache和DiskLruCache原理。加上软引用。缓存框架的构架大概是什么样子。

网络请求缓存

handler机制

handler一般用来干什么?还有在哪些地方看到使用handler

HandlerThread

Service和IntentService

启动服务的方式。有没有使用过bindService

view绘制过程

事件分发过程

使用过Canvas没

ListView优化

做过什么自己定义控件,须要注意什么问题

View的onDraw方法扯到SurfaceView

ANR怎么避免

OOM怎么避免

Binder底层实现,框架

ViewRoot源代码,这个类的主要功能

内存泄露

怎么检測内存泄露

性能优化

动态载入了解不

activity启动过程

/data/app/的目录和文件的权限(非常犀利的面试官问的。项目中用到最重要的一点。不愧10年工作经验)

Android是怎么学的

强行装逼时刻:想办法扯到Binder的源代码。动态载入。插件框架:360的DroidPlugin和百度的DynamicLoad原理,activity启动流程,跨进程回调上面来,以及一些开源库。基本上讲完动态载入的框架就是和面试官聊天了。

设计模式:

知道哪些设计模式,平时怎么用的?

口头念出一个单例每行怎么写,多线程问题

外观模式

http:

(每次http的问题我回答不出来我就告诉面试官,http这些我仅仅知道简单的,没有深入研究,android的能够随便问,然后就不问http的问题了)

304

缓存

tcp/ip:

七层模型

TIME_WAIT

流量控制,拥塞控制

http头里面的host有什么用url里面都有了为什么在头字段要有

操作系统:

进程与线程

操作系统看了那些内容

进程间通信的方式

死锁。怎么避免。平时遇到没

项目:

每讲一个点的时候都会问我为什么这么设计,你从哪里学到的?在哪里看到这么做的?

遇到了什么问题。怎么解决的?是怎么发现问题的?log。单步调试

项目的架构

有没有为面试做准备。准备了哪些内容。

大概就是这些,有些可能时间太长我也记不太清了。

近期面试Android的一些面试题的更多相关文章

  1. 近期面试总结(Android)

    关于近期面试总结(2018年下半年) 有些是老生常谈有些是没有遇到的. 1.HTTP和HTTPS的区别 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为 ...

  2. Java面试总结(面试流程及核心面试题)

    Java面试流程及核心面试题 面试整体流程 1.1 简单的自我介绍      我是xxxx,工作xxx年.我先后在xxxx公司.yyyy公司工作.先后做个xxxx项目.yyyy项目. 1.2 你简单介 ...

  3. 腾讯面试Android高级岗,居然被一个多线程基础面倒了?

    前言 一个在深圳从事开发五年的老友一个月前从原公司辞职后,昨天去腾讯总部面试Android高级岗,一面的时候,自我介绍后,陆陆续续问了很多问题,有着五年的从业经验很多项目开发的技术问题都回答的很通顺, ...

  4. JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解

    JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素 ...

  5. 关于面试总结-SQL经典面试题

    关于面试总结6-SQL经典面试题 前言 用一条SQL 语句查询xuesheng表每门课都大于80 分的学生姓名,这个是面试考sql的一个非常经典的面试题 having和not in 查询 xueshe ...

  6. 2017、2018面试分享(js面试题记录)记得点赞分享哦;让更多的人看到~~

    2017面试分享(js面试题记录) 1. 最简单的一道题 '11' * 2 'a8' * 3 var a = 2, b = 3; var c = a+++b; // c = 5 2. 一道this的问 ...

  7. 2019Android阿里&腾讯&百度&字节面试汇总(附面试题总结、Android书单)

    1.基本情况 先简单说说我今年的面试经历吧,本人2018届211软件工程硕士生,Android开发岗.此文主要是2019年年初春招的面试和秋招面试经验汇总,最终拿到了阿里,腾讯,字节跳动,百度等off ...

  8. 近期面试总结(PHP后端开发工程师)(部分笔试题)

    1.字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样: js:true:字符串除了空字符串('')其他都是tr ...

  9. Android开发工程师面试题总结。android开发面试经验

    1:Android中五种数据存储方式分别是什么?他们的特点?     (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使用,生成XML的格式存放在设备中 (2) SQ ...

随机推荐

  1. php获取农历、节日、节气

    /* * 农历 节气 节日 * edit: www.jbxue.com */ header("Content-Type:text/html;charset=utf-8"); cla ...

  2. 洛谷——P2082 区间覆盖(加强版)

    P2082 区间覆盖(加强版) 题目描述 已知有N个区间,每个区间的范围是[si,ti],请求出区间覆盖后的总长. 输入输出格式 输入格式: N s1 t1 s2 t2 …… sn tn 输出格式: ...

  3. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  4. [BZOJ2159]Crash的文明世界(斯特林数+树形DP)

    题意:给定一棵树,求$S(i)=\sum_{j=1}^{n}dist(i,j)^k$.题解:根据斯特林数反演得到:$n^m=\sum_{i=0}^{n}C(n,i)\times i!\times S( ...

  5. 【欧拉回路】【欧拉路径】【Fleury算法】CDOJ1634 记得小苹初见,两重心字罗衣

    Fleury算法看这里 http://hihocoder.com/problemset/problem/1181 把每个点看成边,每个横纵坐标看成一个点,得到一个无向图. 如果新图中每个点的度都是偶数 ...

  6. 【2-SAT】POJ3678-Katu Puzzle

    [题目大意] 给出有向图G(V, E),每条边(a,b)有一个值c(c=0或1)和运算符op,问能否找到这一张有向图,满足所有的a op b=c? [思路] 显然是2-SAT.不过要注意一定,如a a ...

  7. 1.2(JavaScript学习笔记)JavaScript HTML DOM

    一.DOM DOM全称为document object model(文档对象模型). 此处的文档指当前HTML文档,对象指HTML标签. 当网页被加载时,浏览器会创建页面的文档对象模型. 下面结合具体 ...

  8. Ubuntu 16.04下没有/var/log/messages文件问题解决

    1.问题描述 今天需要查看Ubuntu系统的日志文件,但却没有找到/var/log/messages这个文件.网上搜素资料,说是要配置/etc/syslog.conf.syslog采用可配置的.统一的 ...

  9. mysql错误10060

    setenforce 0 service iptables stop mysql -u root -p Aaa111222333 GRANT ALL PRIVILEGES ON *.* TO 'roo ...

  10. NHibernate之一级缓存(第十篇)

    NHibernate的一级缓存,名词好像很牛B,很难.实际上就是ISession缓存.存储在ISession的运行周期内.而二级缓存则存储在ISessionFactory内. 一.ISession一级 ...