2016年4月某公司面试题及面试流程。

静态内部类、内部类、匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它?

  • 静态内部类:使用static修饰的内部类
  • 内部类:就是在某个类的内部又定义了一个类,内部类所嵌入的类称为外部类
  • 匿名内部类:使用new生成的内部类
  • 因为内部类的产生依赖于外部类,持有的引用是类名.this

ArrayList和Vector的主要区别是什么?

ArrayList在Java1.2引入,用于替换Vector

Vector:

  • 线程同步
  • 当Vector中的元素超过它的初始大小时,Vector会将它的容量翻倍

ArrayList:

  • 线程不同步,但性能很好
  • 当ArrayList中的元素超过它的初始大小时,ArrayList只增加50%的大小

java集合类框架

Java中try catch finally的执行顺序

先执行try中代码发生异常执行catch中代码,最后一定会执行finally中代码

switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch支持使用byte类型,不支持long类型,String支持在java1.7引入

Activity和Fragment生命周期有哪些?

  • Activity——onCreate->onStart->onResume->onPause->onStop->onDestroy
  • Fragment——onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach

onInterceptTouchEvent()和onTouchEvent()的区别?

onInterceptTouchEvent()用于拦截触摸事件
onTouchEvent()用于处理触摸事件

RemoteView在哪些功能中使用

APPwidget和Notification中

SurfaceView和View的区别是什么?

SurfaceView中采用了双缓存技术,在单独的线程中更新界面
View在UI线程中更新界面

讲一下android中进程的优先级?

  • 前台进程
  • 可见进程
  • 服务进程
  • 后台进程
  • 空进程

代码查错题,没记下来

tips:静态变量持有Activity引用会导致内存泄露

一面

  • service生命周期,可以执行耗时操作吗?
  • JNI开发流程
  • Java线程池,线程同步
  • 自己设计一个图片加载框架
  • 自定义View相关方法
  • http ResponseCode
  • 插件化,动态加载
  • 性能优化,MAT
  • AsyncTask原理
  • 65k限制
  • Serializable和Parcelable
  • 文件和数据库哪个效率高
  • 断点续传
  • WebView和JS

Android基础——Service
Android基础——IntentService
Android开发指导——Service
Android开发指导——绑定Service
Android开发指导——进程间通信AIDL

Android面试基础知识总结(一)

Android面试——APP性能优化

Android中Java和JavaScript交互
WebView 远程代码执行漏洞浅析
WebView中的Java与JavaScript提供【安全可靠】的多样互通方案

二面

  • 所使用的开源框架的实现原理,源码
  • 没看过,被pass了
  • 去面试之前把用到的开源框架源码分析一定要看看啊

codekk:开源框架源码解析

http://yuweiguocn.github.io/2016/04/13/interview-2016-big-company/

3,4月春招实习面试面经(今日头条,腾讯,阿里,360)

阿里内推

在三月的某一天,当我还沉浸在代码世界的时候,突然一声铃声响,拿起手机一看,杭州电话==大三春招第一次面试开始了。

阿里一面

问的问题不多,也就26分钟的样子

  • 你用过哪些集合类?==太多了,随便说了些
  • 那你说说ArrayList,LinkedList的区别(还是挺简单的,一般用过的都说会)。
  • 说说hashMap是怎样实现的(这个之前看过,顺利回答上。还回答了多线程的问题出现的原因,面试官表示很惊讶的样子)
  • 说说可重入锁
  • 说说view绘制过程和事件分发机制,我大概回答了下。然后面试官又问:onTouch和onTouchEvent是什么区别?如果我重写了ontouch和onClick,它们的调用顺序是怎样的?什么时候会不调用onClick?
  • handler的是怎样实现的?
  • 由于项目里面用到了picasso,所以最后问了下picasso实现原理。

一面结束,最后面试官居然问我是不是第一次面试== 估计是帮紧张了。不过一面过程中面试官心情还不错,都是笑着问的。

当天晚上接到二面,面试官太累了,约我第二天面试。

阿里二面

二面气氛一直不对,感觉面试官非常严肃,一来就感觉很有压力

  • 自我介绍
  • 操作系统里面线程和进程的区别(挺基础的) ,接着麻烦就来了;我说完大致区别后,他就问,你说进程里面线程是共享内存的,那么一个进程最大能占多少内存??(懵逼,这是什么意思?考的分页知识?)。然后这里我想了一下,说应该和硬件有关,他继续问,有什么关系?(应该和地址总线有关,当时没想起,他叫我再想想,要是你设计的系统,应该和什么有关,还是没答上==)。
  • 你项目中图片是怎么处理的?回答:picasso,顺便说了下picasso原理。然后又问:那么picasso里面有多少个线程来加载图片?要是网络不同,线程数目分别是多少?
  • 布局优化(这里开始说错了一点,然后面试官很生气的样子==,自我感觉就要挂了)
  • 项目中有哪些优化?

最后果然挂了==(惨痛的经历,不过为后面打下了很好的基础==至少不 怎么紧张了)

然后后面就没有面试了

直到4月腾讯面试==

腾讯面经

腾讯是走的正常渠道,到成都现场面试

一面

面试场地是在一个宾馆里面,一对一面试,face to face还是有点紧张的

  • 自我介绍
  • java多态你了解多少??
  • 你说说重写和重载区别,然后拿了纸笔,手写一个能体现多态的例子
  • 说说java在运行main函数之前做了哪些工作?? 这个我居然从启动虚拟机——>加载类——>初始化类一直说到执行Main
  • 你对大尾小尾了解多少? 我反问:您说的是大小端么? 他说对,然后我正准备给他解释的时候,他又拿了一张纸:用java写一个判断大小尾的程序==
  • java静态方法能不能被重写? 答:不能。 问:为什么?
  • 为什么java静态方法不能调用普通方法?普通方法能调用静态方法?(其实还是实例引用问题)
  • java内存模型和GC机制

其实腾讯面试官感觉都很nice,他称呼我 都用您。感觉怪怪的,而且礼仪非常好。最后面完后,我问我面试得怎样?他说你了解的知识还是挺宽的,然后问了我一句要不要去做游戏???当然要啊!

然后就走了。然后就没有然后了,晚上查状态是不适合。

霸面一面

腾讯面试后,感觉不怎么死心,又跑去长沙霸面了,我一去,HR说移动端基本已经招满了,你可以把简历放在这儿,要是有面试机会的话,我会通知你。然后我心情失落地回去了。

当我刚到住处,刚出电梯,HR就来电话了,叫我去面试==

我那个开心啊,把平时20分钟的路程当成10分钟不对跑过去,直接一面。

一面面试官也很nice,还惊讶我从重庆来==

  • Hashmap原理
  • hashcode和equals还有==的关系
  • 用hashmap实现hashset。。我之前看过的,忘记了。然后按照我的想法回答了。(最后面试官告诉了我该怎样实现==)
  • 内部类访问外部类的变量有什么问题?
  • android里面onStop和onPause本质区别。什么时候可以存数据?
  • 两个单链表寻找有没有交点,然后再寻找交点位置
  • android oom怎么解决
  • 还问了一些项目的问题

其实中间还问了几个算法,忘记是什么了,后面想到了的话会加上的。

二面

二面面试官感觉很牛的样子,一直技术轰炸

  • 告诉我你所直到的所有关于java虚拟机的东西==我说了好久好久。还说了新生代大概什么时候会加入老年代==
  • binder机制
  • handler原理, Message,loop,messageQueue关系,handler内存泄露问题。
  • TCP三次握手,用纸画出来
  • 为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快?
  • 面试官看到了我的项目,然后问了我一个用到的框架的原理,还问了我里面的很多细节==估计是以为我直接看的别人的博客了解到的这些知识,还好我是自己看了源码==
  • 算法:几百万个QQ号 ,找出前100个消费最高的QQ号。直接小顶堆什么的
  • android四大组件 ,这里扩展了很多,毕竟非常熟悉,还说了很多坑,很多实现原理(比如activity start原理)
  • 还问了优缺点== 
    (也有一些问题忘记了) 
    这次面试很久,忘记带水了,出来我直接喝完了一瓶怡宝==

这交自我感觉答得不错,然后过了2个小时就收到HR面通知

HR面

  • 自我介绍
  • 项目里面怎么解决安全问题的?好可怕,会技术的HR
  • 有没有女朋友?
  • 家在哪里
  • 有没有亲戚在腾讯?
  • 我问了下要是过了的话大概会在哪里实习?HR说在深圳==还问我有什么问题么?我说没有,我爸妈也在那边==然后他在我简历上面记了一下。
  • 为什么要学习android?

HR面就10多分钟,很快,和我一起面试的还有几个学生,也都是10来分钟,然后HR叫我等结果

然后等啊等,等到现在还没有结果==

360面试

360全程视频面试加写代码什么的

一面

  • 写一个adapter,我后面忘记了getView的一个参数==一直在那里想,面试官问我是不是在编译器里面写==我说我在想怎么写。
  • hashmap原理==
  • java可重入锁
  • 排序算法和稳定性,快排什么时候情况最坏?
  • 一个获全国奖的项目问了我20分钟,特别是service不被杀死的方法==我说了4种才放过我,还问了我具体实现,特别是在JNI里面实现的时候==
  • 项目中界面适配,自定义过view没有?
  • NFC读卡,这个是我的项目,我说了具体实现,然后就放过我了
  • 我项目中用了google map 和定位,他问怎么定位的?居然问了我具体API==我还说了里面的坑,国产手机阉割了一部分的问题==

一面大概1个半小时==头昏脑涨==然后面试官并不放过我,叫我等等。他去叫二面面试官

二面

  • http协议了解多少,说说里面的协议头部有哪些字段?
  • https了解多少?为什么百度全部都用了https包括首页
  • 散列表的基础知识,里面也问了hashmap(可见hashmap重要性)
  • 项目问题,几个项目都问了,什么分工啊什么的
  • 问了我很多项目中开发的问题,还好基本都答出来了==二面基础知识基本没多少,都是项目问题

二面接近一个半小时,还好在寝室面试,边面边喝水==二面脑袋都是糊的==

二面完后,10分钟打电话通知一周内有HR面

HR面

HR面的时候,我正在火车上,HR说只有15分钟,我说当场面了,因为我那个时候正停在一个大站里面,要停半个小时

  • 自我介绍,问了我所有项目的分工问题和设计等问题,好几个项目,这里就花了接近20分钟,然后火车开走了,然后大家都知道,悲催了,没信号== 
    等到我有信号的时候,再给HR打电话约好第二天继续面。

第二天

  • 继续项目分工==
  • 中兴实习情况?为什么最后没留下?(要读书啊)
  • 开发的一些规范
  • 投了XX公司和XX公司没有?为什么没投XX公司?哎,这里太年轻别坑了==
  • 怎么看待3Q大战==(大姐,这个我怎么来说呢?)
  • 问了我实习时间,希望实习的地点,希望做哪方面?
  • 你觉得你一面和二面哪一面成绩更好?每一面大概多少分
  • 优缺点==

每个问题都问了很久,因为每个过后都接着往下问了的。整个HR面都1小时13分钟,累啊!!说好的15分钟呢

然后N天后,收到360拒信。

今日头条

今日头条也是我唯一过的公司==一面还好,二面全程技术轰炸,HR面聊得挺好,虽然有点短

今日头条我是内推的,N天后给我发邮件和电话约面试,本来是北京面试的,结果去不了,就电话面试了。

两次技术面试也是接近2个小时 。一面面试官面完后,叫我去吃饭,过会儿继续面,天真的我以为已经二面了,然而并不是,这个时候面试官还是建议去北京面试,过的机会大些== 这个时候哪还有心情吃饭,一直等面试官的电话,结果继续面的时候直接写了一个代码就OK了,代码是在一个矩阵是查找有没有某个数,矩阵从左到右依次增大(忘记是增大还是减小了),从上到下也一样。由于电脑问题,我还是翻墙去写代码的==写代码的时候,由于网不稳定,还经常断==

写完直接叫我等二面,过了会儿二面面试官马上来了电话

二面面试官感觉很随和,从Java的用法问到了虚拟机,问到了操作系统,最后深入问到了一个编译原理。还问了一些C语言的东西。 
还问了排序。 
然后可能是因为我所有东西是自学的,面试官在问之前都问了我了解不,不了解就重新换一个。还问了一些图论最短路径问题(还好面试前不久做了一个比赛,华为的未来寻路,就是最短路径问题),这个答得还行,说了一些经典算法,还有一些只能算法,还有一些改进等。

然后就是我项目中的问题,因为我用了rxjava,picasso,retrofit等开源项目,所以面试官问了我retrofit是如何处理注解的,我直接讲了源码,其过我博客里面也写过了这个,然后面试官可能发现我了解,就直接跳过了这个。然后问了我rxjava的东西,我结合博客看了部分源码,还问了rxjava里面用了大量的<? super T>这些,是什么意思。 
过后问我了解github上的一些开源项目不,我说了解一些,然后就是butterknife了,然后我回答错了,以为是注解+反射。后面挂电话后,找了时间分析了源码,还真不是反射==butterknife分析在这里。

今日头条感觉是我面试问题水平最高的,不再局限于基础知识,问了很多很深入的东西。感觉面试官都是根据我具体情况问的,随手丢出问题,直到我回答不上。总以为二面会挂。

结果在某天中午接到了HR的电话,由于那个时候有事,重新约了时间== 
当时都有HR面恐惧症了,因为前面两次HR面后都没消息了==

HR面

时间很短,几个问题而已,回答完就叫我等结果,说5月中旬会出结果。

2016Android公司面试题相关推荐

  1. 2016Android某公司面试题

    2016年4月某公司面试题及面试流程. 静态内部类.内部类.匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它? 静态内部类:使用static修饰的内部类 内部类:就是在某个类 ...

  2. 回答华为公司面试题一头牛重800公斤一座桥承重700公斤问牛怎么过桥?

    如何回答华为公司面试题一头牛重800公斤一座桥承重700公斤问牛怎么过桥? 作者:ICEplate 链接:https://www.zhihu.com/question/455269838/answer ...

  3. 世界500强公司面试题(很多)

    世界500强公司面试题(很多) 快到春节了,很多朋友又在酝酿跳槽的事,找了许多经典的面试题目,估计这些题目全部研究过了,针对非技术的面试应该足够了:) 第一章 微软面试题 面试官:现在我们要问一个问题 ...

  4. 南京中软/软通/金证/易宝等外包公司面试题

    楼主以两年工作经验去面试,以下所属公司未标注(面的太多,记不清了.),不按顺序: 一. 1.项目中多态的应用? 2.接口和抽象类的异同? 3.使用过哪些集合?ArrayList和LinkedList异 ...

  5. 2012届it公司面试题

    九月腾讯,创新工场,淘宝等公司最新面试十三题 引言 曾记否,去年的10月份也同此刻一样,是找工作的高峰期,本博客便是最初由整理微软等公司面试题而发展而来的.如今,又即将迈入求职高峰期--10月份,而本 ...

  6. java面试官:程序员,请你告诉我是谁把公司面试题泄露给你的?

    前情提要: **面试官:**你好!请先做一下自我介绍! **程序员:**balabalabala- 前戏先过了- **面试官:**先介绍SpringCloud核心组件及其作用 **程序员:**Spri ...

  7. 2022/9月份济南X家公司面试题汇总(web前端)

    这是济南某些的公司面试题,在这里汇总一下,自测一下知识掌握的情况咋样,有些问题还是比较有价值的,真实面试情况因人而异,此面试题仅供参考 A公司. Vue3和 vue2的区别是什么?他解决了vue2中的 ...

  8. 杭州某B2B软件公司面试题

    杭州某B2B软件公司面试题 package com.orz.www;public class Test {public static void main(String[] args) {// 0 开头 ...

  9. 电子类公司笔试题精选

    一.模拟电路 1基尔霍夫定理的内容是什么?(仕兰微电子) 基尔霍夫电流定律是一个电荷守恒定律,即在一个电路中流入一个节点的电荷与流出同一个节点的电荷相等. 基尔霍夫电压定律是一个能量守恒定律,即在一个 ...

最新文章

  1. 如何导出项目到本地_【点滴故事】:如何做项目本地化?
  2. 细说HTML元素的ID和Name属性的区别
  3. C++封装、继承、多态
  4. linux nfs 配置_centos7 NFS 配置
  5. [转]Java学习路线图(完整详细2019版)
  6. 必须使用301重定向的运用场景
  7. mysql phpmyadmin远程_phpmyadmin登录远程mysql数据库
  8. Java HashSet和LinkedHashSet的用法
  9. C#学习笔记——类的继承
  10. Protel99SE精彩教程
  11. 三线表里加小短线_快速搞定学术论文中的三线表
  12. 如何做好工程项目管理策划书,这个范本值得参考!
  13. linux找回cp之前的文件,Linux中找回误删除的文件
  14. 如何查看网站服务器的速度,如何测试网站服务器访问速度?
  15. 在 js 中应用 订阅发布模式(subscrib/public)
  16. linux版uTorrent安装手记
  17. 编译工具 Ninja 介绍
  18. 【转】Java程序性能优化
  19. RGB接口和MPU接口区别
  20. 五大经典算法-动态规划 及其算法应用

热门文章

  1. 大数据工程师需要学习哪些技术?
  2. Vue 公众号商城实现浏览足迹
  3. ROS小车-上位机代码:两驱小车直线行走校准
  4. LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II
  5. NLP学习笔记——情感分析一 (简介)
  6. 十 ARM9(2440)的IIC——理论知识及程序实例
  7. Android禁止EditText弹出输入法
  8. 编译报错“ld: cannot find -lXXX”
  9. 【Windows】联想win10系统截屏快捷键
  10. 计算机软件系统发展历史,一文带你了解操作系统发展史