当前位置:网站首页>深入了解为何面试官常说:你还没准备好,我不会录用你
深入了解为何面试官常说:你还没准备好,我不会录用你
2022-08-02 03:27:00 【Android技术栈】
前言
当时高中毕业后执意要学电脑,不远千里来到帝都某鸟培训,那时候身边的朋友包装学历,包装经验,甚至老师说去面试的时候不要说你在培训机构待过
很多的时候,我是一个一直认为英雄不问出处的人,但是我忽略了当今社会的大背景,我认为只要有技术,好学,没有学历一样可以,但是我还是忽略了社会的大背景
很多时候,我一直都在考虑我和大学生的差距,然后闲的时候就去学习一些数据结构和算法,只是为了尽量弥补差距,我是一个有信仰的人,所以到现在还是真实的身份面试(虽然机会很少很少),且行且珍惜吧,没有什么可抱怨的,不都是自己的选择吗
面试分享
腾讯互娱
一面:
kotlin语法,函数为何设计为一等公民,协程
泛型,为何要擦除?好处是什么?坏处呢?kotlin的泛型呢?泛型如何不擦除?
jvm、dalvik、art介绍下,解决了什么问题?
UI优化,UI渲染原理。哪些是CPU做的,哪些是GPU做的?
为何掉帧?原理,怎么解决
卡顿,原理,如何解决。
如何量化UI优化的数据?
TCP/UDP。三次握手、四次挥手的必要性。
https的安全性如何保证的。
jetpack
二面:
项目
IM如何实现:长链接如何实现?乱序问题,丢失问题如何解决?
融云
一面:
项目
说一个你遇到的最难的问题
算法题:无重复字符的最长子串
二面:
项目
性能优化,举例
架构,好的架构如何设计
kotlin
sdk如何设计
引入sdk时有哪些指标要考量?
包体积优化
算法题:101. 对称二叉树
海马云
一面
对话框治理方案
网络:http演进过程:1.0 --> 1.1 --> 2.0。https:加密过程
锁:常见使用,分类,死锁
线程池核心参数
binder:内存copy几次。mmap几次映射
activity中,new Handler(),如果内存泄漏了,分析它的GCRoots引用链。
事件分发:从手接触开始,一个完整的流程。
SharedPreference存在哪些问题?
Glide:如何管理生命周期?Cache?如果一张下载一张大图,有两个尺寸不同的View去加载,在内存中几份缓存?
View#onClickListener中,sleep(100s),会不会anr?
三个线程依次打印,有哪些方式?
用两个栈实现队列。
二面
你的Kotlin能力如何?
你的架构设计能力如何?
设计模式:装饰者和适配器模式的异同
平时看哪些架构设计方面的书?
Intent你如何理解?
跨进程传递数据,为何要序列化?
启动一个Activity,为何要设计成跨进程的方式?app自己做不行么?
下载一个几百M的大文件,如何校验文件正确性?如何修复?
微软
Java:
HashMap的数据结构,如何保证快速查找,容量为何要设计为2的n次方这样?对扩容有没有影响?
ArrayMap 和 SparseArray
ConcurrentHashMap
HashTable,为何废弃
多线程存在哪些问题?
synchorized实现
juc包下的lock如何实现的?有了synchronized,为何还要有这个?
cas的原理
AtomicInteger如何保证原子操作
CAS如何保证原子操作
volatile的特性。拿一个特性举例说明
Java为何设计出可见性这个问题
Android:
View#request之后,流程是怎样的
事件分发:View设置了一个onClickListener,那么它的onTouchEvent中,DOWN的时间,返回的是true还是false?为何?
如果一个View没有消费DOWN事件,那么MOVE和UP事件还会不会给它?
CANCEL事件是如何触发的?
滑动冲突解决过么?举例说明
getMeasuredWidth和getWidth有什么区别?什么时候会有不同?如何让getWidth的值跟getMeasuredWidth不同?
activity#onResume中,View展示出来了?原理
通过view#post获取view宽高,可以获取到么?原理
如何把消息交给子线程的Handler执行?
new一个Thread,在run方法里面写三行代码:
Loop.prepare;
Loop.loop;
输出一行log。</pre>
问,这行log会不会执行。
- RecyclerView:
Adapter#notifyDataChanged和Adapter#notifyDataRange方法有何区别?加载下一页数据时,我调用哪个合适?在onBindViewHolder方法中,view#getParent有值么?ViewHolder#recycler方法,何时会被调用?stableId了解过么?如果设置了它,页面内的ViewHolder会走onCreateViewHolder和onBindViewHolder方法么?此时这些ViewHolder是放在哪个缓存里的?
饿了么
一面:
项目经验
图片压缩。RGB565,为何不是556呢?
python脚本。
dumpsys脚本
包体积优化:python脚本。
枚举类替换是否有必要?
性能优化:布局性能优化。首页刷新优化。
Activity启动流程。
谁根据Intent中的信息去查找对应的进程呢?去查找对应的Activity呢?PKMS。
PKMS和AMS都是SystemServer启动起来的,它两在同一个进程里面。
app的最近打开过的应用,知道谁做的么?关机开机后依旧保存,如何保存到磁盘的?谁做的?
- 算法题:143.重排链表
二面:
地理位置相关的,你了解多少?
对比前两家公司,地图特殊的方面,你做过什么
你在上家公司,成长阶段分为几部分?里程碑的节点有哪些?
最近看了哪些书
算法题:
数组中的第K个最大元素
字节跳动
一面:
合规排查,sdk如果调用了HttpURLConnection这种方式,你如何排查?
假设三天之内完成,但是sdk三天改不完,你如何sdk处理?
SDK如果直接调用系统API呢?
如何具备经济擦屁股的能力?
ASM能hook第三方sdk里面的类么?第三方的jar包呢?
python扫描文件,跟IDE里面全局搜索,有区别么?
如何解决还没有暴露的合规问题?比如某天规则增加了?线上如何做?如何减少调整?你有没有比较好的解决方案?
webview:WebView里面,js调用native方法,它底层的原理是什么?为什么js能调用到Java的方法?webkit提供了这个功能,那它是怎么实现的?js调用native的方法时,是同步的还是异步的?java方法return一个值,js那边能立即拿到么?通过js调用一个java方法,这个java方法都是@onJavaInterface注解过的,这个方法是运行在哪个线程?
AB实验:分组,有没有需要注意的,或者关键点?怎么做到尽可能随机?
如果N个实验在并行,实验跟实验之间,怎么去防止相互干扰?行为之间会有相互影响。样本隔离开的话就会有问题,多个实验都想要大量数据,如何设计?如何统计实验的指标?如何确认两个指标的关联关系?SQL层面如何实现?
网络请求:https请求如何保证安全性?Charles能抓https请求么?能抓的话那安全性在哪?app如何防止代理抓包?
UI性能优化,加载绘制等,有哪些方面可以做的?
Java中静态方法,能不能被子类重写?编译会报错么?
匿名内部类能不能访问外部类的私有方法?匿名内部类编译后也是独立的外部类,它为何能访问外部类的私有方法?如果能访问,是不是破坏了java的语义?怎么做到的?
算法题,多线程顺序打印ABC。
二面:
图片压缩
自定义路由方案
注解处理器
运行时注解和编译期注解的例子
项目的产品指标
View绘制
ChoreoGrapher中Callback的类型
同步消息、异步消息、消息屏障
RenderThread了解么
包体积优化:access优化、R文件、arsc文件优化
埋点方案设计
jetpack用过么
GCRoots分析
如何监控页面卡顿?ChoreoGrapher方案呢?
mvi了解么?
kotlin了解么
算法:反转链表,用递归
心路历程
本文中面试的相关问题 , 发现确实很多知识点都是只知其然不知所以然 , 只停留在会用的层面 , 虽然在短期内停留在’会用’不影响实现业务功能 ,但从长期来看 ,是不利于发展的 ,尤其是现在IT行业总体趋势 竞争是比较大的
要怎么样去系统的补落下的基础 , 如果只是去补你现在所提到的面试题从而去扩展 , 感觉有点亡羊补牢 , 不是特别的全面(虽然现在也一直是根据你提到面试题 , 去补基础和根据自己的理解去总结知识点)
所以我向大家自荐一套《完整的Android学习资料,以及一些视频课讲解》
现在私信发送 “面试” 或 “进阶” 即可 免费获取
最后我想说:
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们
技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面
Android 架构师之路还很漫长,与君共勉
边栏推荐
猜你喜欢
PHP deserialization vulnerability
(1) the print () function, escape character, binary and character encoding, variables, data type, the input () function, operator
Phonebook
The CTF introduction of PHP file contains
Eric target penetration test complete tutorial
Larave 自定义公共函数以及引入使用
How to log in to Alibaba Cloud server using the admin account
How to determine the direction based on two coordinate points on the map
Solve the problem that the 5+APP real machine test cannot access the background (same local area network)
The shooting range that web penetration must play - DVWA shooting range 1 (centos8.2+phpstudy installation environment)
随机推荐
重点考:金融资产概述、交易性金融资产的概念、交易性金融资产的账务处理(取得、持有。出售)、
VIKINGS: 1 vulnhub walkthrough
Alfa: 1 vulnhub walkthrough
After Alibaba Cloud sets up domain name resolution redirection, I cannot use Chrome to access it
账务处理程序、记账凭证账务处理程序、汇总记账凭证账务处理程序、科目汇总表账务处理程序、会计信息化概述、信息化环境下会计账务处理的基本要求(此章出1道小题)
(4) Function, Bug, Class and Object, Encapsulation, Inheritance, Polymorphism, Copy
GreenOptic: 1 vulnhub walkthrough
The shooting range that web penetration must play - DVWA shooting range 1 (centos8.2+phpstudy installation environment)
hackmyvm-bunny预排
The first time to tear the code by hand, how to solve the problem of full arrangement
Masashi: 1 vulnhub walkthrough
一个网络安全小白鼠的学习之路—nmap高级用法之脚本使用
The CTF introductory notes of SQL injection
laravel-admin 列表图片点击放大
hackmyvm-hopper预排
SQL注入(6)
SATA M2 SSD 无法安装系统的解决方法
Shuriken: 1 vulnhub walkthrough
A code audit notes (CVE - 2018-12613 phpmyadmin file contains loopholes)
web安全之目录遍历