赞
踩
我是2020年毕业于中南大学的计算机学院的,我毕业之后在华为工作了差不多两年多,一直都从事着Android开发。 然后去年年底的时候因为我自己的一些原因打算离职到外面看看,那个时候我是投了超级多简历,然后去面试了小红书啊、快手啊,爱奇艺啊,微信,小米…等等很多的大厂,小厂,然后下面这些就是我每次面试后记录的一些面试官问我的问题(ps:基本上特别的全面),我总结了一些给大家看一下。
简单粗暴的说:用最少的时间,最高效率,让你清楚:想要拿到Android工程师 offer你就要好好的看了
由于文章篇幅原因,只能展示部分内容,有需要完整面试题的朋友,可以在文末领取
Java方面
1、 静态变量和实例变量的区别
2、静态变量有static关键字修饰静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独有的,不会被共享!(可以Class.var使用),位于方法区
3、实例变量必须创建对象后,才可以通过这个对象来使用。即new Class().var,位于堆区
4、“==” & equals()
5、 浅拷贝 &深拷贝
6、 HashMap , 扩容机制
7、多个线程如果共享多个资源,需要怎么保证安全
8、volatile,CAS/ABA
Android方面
1、 事件的分发机制
2、 Handler原理
3、TCP UDP
4、Kotlin和Java的区别
1、 一个平面上n个点,找出k条线穿过max点数
2、 100位面试者,每人要四轮面试,怎么分配面试官
1、手撕:最长单调区间
2、 Android/ 布局优化
3、Activity启动模式
4、 RecyclerView和ListView区别
5、 Handler机制,loop方法为何不会造成ANR
6、View绘制流程
7、SingleTop和standard启动模式下,生命周期回调有何不同
8、 onStart和onResume区别
9、 Java/ 面向对象三大特性
10、Array和Linked区别
11、 HashMap底层
12、 进程间通信方式
13、equals和==区别
14、线程间加锁的方式
15、知道啥设计模式
16、synchronized的不同使用
17、异常
18、线程池
19、创建线程的方式
20、 OS/ 死锁
1、jvm内存模型
2、new 对象的过程
3、 类加载过程
4、 ClassLoader源码
5、final关键字
6、 匿名内部类
7、讲下垃圾回收算法
8、LinkedList && ArrayList
9、hashMap
10、常用注解,spring中的注解
11、锁,synchronized底层原理
12、 https && http
13、 浏览器输入地址后的过程
14、状态码 303 304
15、 你知道的设计模式
16、单例模式 说了双重校验锁,静态内部类 ,不同场景下如何选择
17、 双重校验锁为什么要两次判空
18、volatile,指令重排
1、实习学到的架构
2、MVVM
3、Dagger原理
4、livedata原理
5、进程和线程
6、操作系统IO模型
7、进程通信方式
8、管道通信原理
9、TCP协议如何实现可靠传输
10、UDP如何实现可靠传输
11、java创建线程
12、线程池原理
13、线程池拒绝策略
14、synchronized与reentrantlock实现方式的区别
15、AQS原理
16、handler原理
17、Retrofit原理
算法:
1、二叉树右视图 — 非递归实现
1、Navigation的优缺点
2、如何实现的自定义navigate方法切换fragment,如何让被覆盖的fragment感知到生命周期
3、gc如何判断垃圾对象
4、成员变量与局部变量的区别,局部变量的值一定是存放在堆中吗()
5、jvm类加载的时机
6、jvm类加载过程
7、双亲委托机制是什么
8、双亲委托机制什么时候会被破坏
9、内存泄漏是什么
10、volatile的作用
11、写一个死锁
算法:
1、判断A是否是B的子树
1、自己是如何学习Android的
2、实习过程中做的需求说一下
3、实习过程中的难点说一个
4、实习过程中和哪些人接触的比较多
5、如何和别人沟通的
6、实习的收获
7、挑一个项目说一下
8、里氏替换原则
9、http状态码
10、http多路复用
11、数据库
12、拿了哪些offer
算法
1、汉字表示的数字转成阿拉伯表示。
以上面试题已整理成《Android面试大厂必考174题》,扫描下方二维码,就可以领取啦~
我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。其实我觉得技术面试是一个 让我们认识自己 的一个过程,让我们知道现在招聘这个岗位的要求差距和我们差多少。
更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 去发现对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有问题了,要去试图了解他的工作内容、了解这个团队的工作氛围。
找工作无非就是看这三点:做什么事,和什么人,给多少钱,要给这三者在自己的心里有那么一个划分。
希望这份资料可以帮助到正在浏览这篇文章的你,成功找到自己满意的工作!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。