关于android:程序员面经分享面试前到底该不该刷题以及面试前该如何准备

5次阅读

共计 5115 个字符,预计需要花费 13 分钟才能阅读完成。

本文次要分享最近面试的总结心得与布局。蕴含:面试筹备,简历倡议,投递简历办法,面试问题,面试安顿,面试前的筹备,如何与面试官的交换,如何与面试官沟通,如何答复问题等。

根本状况

自己非 985、211 毕业。大学的时候没有指标和方向,每天除了上课就是怎么开心怎么来。起初得悉大四要实习,也看到学长们待业那么艰难,所以开始为本人的将来担心,开始学习大学课程 (电子相关业余),然而发现自己并不喜爱,然而也不晓得该去学什么。 无意间晓得 java,进来比拟好找工作,所以开始自学,起初又学习 Android。而后在大四的时候开始来北京工作,始终到当初。

面试筹备

首先我 不倡议频繁的跳槽,除非被逼无奈,频发跳槽,不光会成为面试官胆怯的一个方面,对本人的积淀也是没有帮忙的。同时我不倡议裸辞,这样会存在太多的不定性因素,如果面试工夫拖得太久,这段事件你没有经济支出,然而你还在收入(房租,日常生活开销)。这样会代来有形的压力,同时如果面试受挫,很容易失去信念,甚至狐疑本人的能力。然而到职也有他的益处,因为,有些公司可能我的项目十分急,须要迅速上岗,那么你到职的交接办理也会耽搁一些工夫,那么也会成为面试官思考的一个因素。所以还是要联合本人的状况而定。

1. 面试温习

温习要尽可能短一些,在本人的短处,比方:前端,后盾,框架源码,framework 等等去好好的梳理一下,成为本人的特点和劣势就好。而后面试前 1 - 2 天把一些面试常考的知识点温习一下牢牢记住,就能够了,不必等本人 100% 的筹备好才去面试,因为那事不可能的。你基本温习不过去。60-70% 就很好了,剩下的就在面试中去回顾吧。

2. 简历制作

简历制作是一种学识,一份好的简历往往让人眼前一亮。同时简历要突出重点

技能专长

尽量不要有精通,除非你真的“精通”。否则就是给本人挖坑。也不要写一些太过常见的技能,比方:理解 Activity 的生命周期。谁都晓得的货色,没别要单拿进去。不要太长或太短 10-12 个技能专长左右。主旨在于表白的特点简单明了,其余的点大家在本人搓摩下。

我的项目介绍

如果你是实习,那么你肯定要有本人在大学我的项目,或是毕业设计,或是团队我的项目。如果是退职肯定要有公司的我的项目。同时 我的项目不宜过多 2 - 3 个即可。同时我的项目介绍不要太过啰嗦,3- 5 行,突出架构,核心技术,次要性能与模块即可,同时写出本人在其中做了那局部内容。(这部分要写好,因为面试官很可能会问你,你开发中遇到的问题,难点,优化,合作,调试等相干问题)

其余技能

如果有英语 4、6 级肯定要写上,有 github,集体 blog 肯定要写上地址。这我就不用说了吧。

最初我还是心愿大家进步本人的实力,实力才是硬道理。这里给大家分享我收集整理的简历模板,有须要的小伙伴文末有支付形式,都是无偿的!

3. 简历投递

如果说简历制作是门学识,那么简历投递肯定是一个技巧了。投的好你就会有面试邀请,投的不好,即便你能力再好也是过不去的。所以投好简历至关重要。那么咱们能够从这几个方面动手:

网站抉择

当初支流的网站有 智联,BOSS 直聘,拉钩。如果你这些投递完后面试邀请还不是很多,能够试试 中华英才,前程无忧,猎聘同道。其余的软件根本就没什么作用了,智联能够海投,能力好能够看公司方向投递。拉钩有投递上线,能够多创立几个拉钩反复投递,BOSS 的话能够在坐公交或是面试之余去投,这个次要是以聊为主,如果谁看了你的简历,那么你能够被动沟通。

投递工夫

你能够抉择在 周日晚间投递 ,这样在周一 HR 下班时候你的简历不会排的太远。平时也是在 每天的 6 - 8 点投递 为好,这样如果 HR 去看的话,会容易看到一些

其余留神

如果你是半年或是一年教训,能够多写一点,当然面试的时候给的简历就要实在了。因为有些状况,如果你工作太短,无论你多优良也不会有太多的面试机会,因为人家的硬性条件你都过不去。

4. 面试筹备

集体筹备

如果你是在大城市,肯定要把手机充好电(带着充电宝),因为去哪里都要导航,还有就是提前就多买点吃的,因为你可能为了干面试一天都吃不上饭(深有体会)。带好简历和纸笔。

面试安顿

如果面试邀请比拟多的话,肯定要用 Excel 做好表格,而后尽量把雷同地点的安顿在一起,这样你就能够不必来回跑,能够一天面 3 - 4 个。还能节省时间和膂力。

面试排期

面试多的话,不要一天排超过 4 个,2- 3 个最好,有时候可能会赶不上,同时会给人家造成不好的印象,同时对本人太多操劳。

面试题汇总

XXXX 清承科技有限公司

java 核心思想
java 高级常识,注解,反射,泛型的了解与作用
framework 有那方面什么了解
Activity 的生命周期与启动模式
性能优化
内存优化
数据结构 (这方面是我的弱项,于是给我一个场景让我如何去抉择,为什么)
Bitmap 如果优化,他的三级缓存的大抵思维与逻辑
给我说一个你我的项目中你用到的自定义 View 的实现,不必细节到代码,次要的思维与外围办法输入即可。
ListView 如何优化,复用的原理,为什么会图片错位,如何解决,分页的思维是什么。
你在公司中用的什么代码治理,如何解决 git 抵触。你在工作中你的职责和次要内容等工作相干的问题。

XXX 云公司

手写三种单例模式,冒泡排序
java 线程,场景实现,多个线程如何同时申请,返回的后果如何期待所有线程数据实现后合成一个数据
线程品种
Android 子线程与主线程交互方式,原理以及各自的优缺点。
有哪几种创立线程的形式,优缺点。
我的项目介绍,开源框架的意识如何封装,我的项目中的难点
Activity 的生命周期,热修复的实现原理与区别(因为我简历里写了)。
在理论开发中的内存透露产生起因,如何查看,和你所晓得的内存透露检测工具
我的项目介绍,我的项目发问,理解 Android 等技术路径等。
git 相干(这我装了一波,说我都是手写命令,因为过后是看书学的,因为在 github 上不存在抵触,所以真的就习惯性的用命令操作 github)

XXX 驾科技有限公司

handle 的应用与原理
线程切换与线程池的品种与作用,什么状况下应用多线程,有什么益处
简略介绍四大组件
Manfest.xml 的里有什么和作用
什么是多过程,过程和线程的区别,如何给四大组件指定多过程。
多过程之间的通信的形式,如何应用 AIDL。他的应用场景是什么。
View 的加载流程
如何实现一个自定义 View
如何抉择第三方,从那些方面思考
内存优化
bitmap 的三级缓存思维与如何优化 bitmap
注解的作用与原理
设计一个音乐播放界面,你会如何实现,用到那些类,如何设计,如何定义接口,如何与后盾交互,如何缓存与下载,如何优化 (15 分钟工夫)
什么是 hash,他的作用是什么。hashMap 源码是什么,他是根据什么原理实现的。
手写一段代码,如何找出一段字符串中,呈现最多的汉字是哪个。

XXXX 投约牛科技

说下你理解那些 framework。
说说你对布局优化的了解
你是如何实现类始于 QQ 表情图的,实现动图与图文并现的原理你简略说下 (我的项目中有)
说下以后你所晓得的热更新与插件化,他们的实现外围原理是什么,他的异同有什么。
从那些角度能够缩小 APK 体积的
对 gradle 命令与打包,接触过那些平台的上架
简略说下接入领取的流程,是否本人接入过领取性能
谈谈你对自定义 View 的了解,如果有一个需要你会如何实现一个自定义 View
说下 LinkedList 与 ArrayList,HashTable 与 HashMap 的区别与存储过程与遍历形式。
说下你都看过那些技术书籍,你是如何自学的。你感觉本人的劣势与弱点是什么。
说下四大组件的启动过程 (从 Framework 层去说,不用说出每个办法的名字,大抵流程即可)。四大组件的启动与销毁的形式。
Android 的数据存储形式有哪些,是否 SQLite 中要继承那个类来创立与更新数据库。SQL 语句把握怎么样。如何失去操作数据库的类等。
说下你对多过程的了解,什么状况下要应用多过程,为什么要应用多过程,在多过程的状况下为什么要应用过程通信。
说下你用过的那些第三方,是否可展现。

XXXX 智能

说下你所晓得的设计模式与应用场景
java 语言的特点与是 OOP 思维
说下 java 中的线程创立形式,线程池的工作原理。
说下 handle 原理,为什么会呈现内存透露,为什么继承 Handle 就不会呈现能存透露
说下 Activity 的启动形式,生命周期,两个 Activity 跳转的生命周期,如果一个 Activity 跳转另一个 Activity 再按下 Home 键在回到 Activity 的生命周期是什么样的
说下 Activity 的横竖屏的切换的生命周期,用那个办法来保留数据,两者的区别。触发在什么时候在那个办法里能够获取数据等。
说下冷启动与热启动是什么,区别,如何优化,应用场景等。
Android 中的线程有那些 (我提到 HandlerThread,AsyncTask 又问了他们的原理与各自特点)
给定命题,一串字符串中有通配符与占位符,如何化简优化 (办法遗记能够简写)
说下产生 OOM,ANR 的起因,三级缓存原理,如何优化 ListView。
说下你对 Collection 这个类的了解。
说下 AIDL 的应用与原理
说下你对播送的了解
说下你对服务的了解,如何杀死一个服务。服务的生命周期 (start 与 bind)。
是否接触过蓝牙等开发
设计一个 ListView 左右分页排版的性能自定义 View,说出次要的办法。
说下 binder 序列化与反序列化的过程,与应用过程
是否接触过 JNI/NDK,java 如何调用 C 语言的办法
如何查看模拟器中的 SP 与 SQList 文件。如何可视化查看布局嵌套层数与加载工夫。
你说用的代码管理工具什么,为什么会产生代码抵触,该如何解决
说下你对后盾的编程有那些意识,聊些前端那些方面的常识。
说下你对线程池的了解,如何创立一个线程池与应用。
说下你用过那些注解框架,他们的原理是什么。本人实现过,或是了解他的工作过程吗?
说下 java 虚拟机的了解,回收机制,JVM 是如何回收对象的,有哪些办法等
一些 java 与 Android 源码相干常识等

XXXXBT

数据结构与算法相干
理论开发中的内存优化,APK 体积优化,代码优化,资源优化,缓存,数据库等
各大平台打包上线的流程与审核工夫,常见问题 (支流的利用市场说出 3 -4)
支付宝与微信的领取性能接入,常见问题
如何和后盾交互,post 申请的数据格式定义在那里定义,手写进去。
http 与 https 的了解与 4 层都是哪 4 层,在一个申请过程中都是什么时候走这些流程与各自的作用
http 的构造有那些(申请头,申请行之类的)
session 与 cookie 的区别
如何在后盾没有给接口的状况下如何开发利用
你是如何封装网络申请,数据缓存,优化,文件下载,线程池,OKHttp3 源码的了解,如何提交 post 申请,如何解决返回数据,异样解决,实体定义等理论开发中与后盾合作相干常识。
说下 Android 中特有的数据结构与常见的 java 数据结构(相熟那个说那个),存储过程,源码与底层实现。

我的面试中,framework,线程,数据结构与算法基础知识,开发理论问题,自定义 View 相干,四大组件与加载流程源码, 框架源码的了解水平与原理,MVP 架构的了解,接口与形象的应用场景,Handle 相干,线程切换,内存,性能优化等等都是常见的问题。

面试通用问题答复技巧

自我介绍

这个时候往往是面试官看你简历内容的时候,然而咱们的介绍也要简单明了,能够从这几个方面:

个人信息:简略的个人信息介绍 (名字,年龄等),大学,毕业工夫
公司介绍:上家工作次要方向,你再什么部门,日常做什么工作,你承当什么角色等
集体特色:比方你课余事件喜爱看书,写博客等介绍

集体职业规划

例:我会在当前的 1 - 3 年学好 java 根底,数据结构与算法,被动去理解后盾开发,同时在公司业务方面的 Android 方向深刻,保持看书写博客,再学一门语言等

向面试官发问:

举个栗子:

依据面试,您感觉我的能力是否可能胜任贵公司的工作
您感觉我哪方面常识须要深刻学习或者我的有余在那些方面,今后我该留神什么

这些问题不仅能帮忙你,还能对这次面试做到成竹在胸。

总结

通过这阶段面试,次要意识到本人 java 根底,源码浏览能力,数据结构与算法,网络编程常识与理论开发呈现问题的总结能力还有待增强,这是一个面试重点,也是本人今后须要致力的方向,同时自学能力也是面试一个重要因素,所以 咱们不要成为码农,而要成为一个优良的程序员这才是咱们致力的方向,做好布局,努力学习,记录总结。养成这样的习惯。

以上这些内容均收费分享给大家,须要完整版的敌人,点这里能够看到全部内容 ,或者点击【 这里 】查看获取形式。 最初祝福大家都有一个好工作,加油!!!!
正文完
 0