-
ThreadLocal原理,底层实现
-
HashMap底层,扩容,LinkedHashMap
-
Service的onBind和onStart差别
-
Activity启动生命周期,A跳转B
-
Android持久化方案,SharedPreference是否可以跨进程通讯。ContentProvider
-
ClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己写的Activity
-
算法题,约瑟夫环
-
反问
二面(1hour):
-
自我介绍
-
项目技术点详解
-
写过什么自定义View
-
OkHttp代码看过吗,用了什么设计模式
-
MVC、MVP区别,项目中的实现。
-
LiveData和EventBus的相关讨论,真的是讨论,畅所欲言
-
看过哪些源码
-
SharedPreference相关
-
Android动画了解吗,用过什么
-
TCP、UDP区别,面试时的语音用的是什么,为什么要这么用。
-
代码题,5个线程对一个int进行累加到1000.
薪资
字节给 2021 届的校招薪资按照岗位来看:
算法岗分为三档22k、26k、30k;
开发岗分为五档:20k、22k、24k、26k、28k;
产品岗分为两档:16k、18k;
设计岗分为三档12k、14k、16k;
市场岗在12k左右。
一般字节按照15 个月计算,算法的校招最高档年薪总计约45w+。字节不分工作年限所有人每月1500元房补,只要地铁或者单车20分钟以内的距离都可以。加班的话公司会按120%的工资给你结算加班费。
百度
•简述内存泄漏,你处理过哪些内存泄漏?
•以100ms/张的间隔时间播放100张图片,且每张图片需要400ms进行加载,如何设计?
•如何在无序数组中快速找到最小值
•简述Android中的ANR,以及为什么会出现ANR?
•简述Handler消息机制,内部实现原理
•手撕一个有序数组的二分查找算法
•列举一个你在实际项目中所进行的性能优化
•简述单例模式的实现方式,且单例模式有什么优缺点?
•简述Java的异常处理机制
•多线程间如何进行信息通信?
•多线程如何保证线程安全?
•简述线程池
•简述HashMap实现机制,如何解决HashMap的线程安全问题?
•TCP和UDP的区别,分别有哪些应用场景?
•简述七层网络模型
•简述Android点击事件的分发机制
薪资
百度是全球最大的中文搜索引擎、最大的中文网站。整体来说,百度公司的薪资待遇应该是互联网企业里算上乘的。
根据校招君的整理汇总,百度给 2021 届的校招薪资按照岗位来看:
算法岗分为四档22k、24k、26-27k、30k;
开发岗分为四档:18k、20k、22k、24k;
产品岗分为三档:14-15k、18k、20k;
设计岗和市场岗都在13k左右。
一般百度按照16个月计算,算法的校招最高档年薪总计约48w+。工作前三年年假12天,然后15天,最多18天。住房公积金全部缴纳,缴纳比例为12%。百度在公司福利这块最为出名的大概就是“奖金无上限”了,早在2015年,在百度上班的一名员工拿到了50个月工资的“百度最高奖”,假设月薪3万,50个月就是150万了,就问你心不心动!
阿里
一面:
自我介绍
秒杀项目(smali代码有没有看、tcp三次握手、https流程、单向认证和双向认证、SSL、token、服务器如何校验数据被篡改,这种机制叫什么(身份验证?))
activity启动模式
数据结构中hashmap结构、原理、是不是线程安全
如何实现线程安全,内存模型
锁在内存中如何使用,CAS是什么
如何实现线程1和线程2同时进行,都结束之后执行线程3(countLowndown,notify,线程池)
进程间通信的方式
content provider原理,如何获取URI,(manifest中的exproted,默认情况是false还是true)
Android卡顿原因,如何造成,ANR
算法:翻转字符串成work am I
10G文件如何下载(如何保证传输正确(tcp+校验和),分多线程下载,)
操作系统中分页和分段、逻辑地址如何转换为物理地址
研究生学过哪些课程
二面:
有没有公司实习经历
排序算法有哪些?冒泡和快排的时间复杂度和稳定性
七层模型?路由器在哪一层?
http和https区别、状态响应码有哪些代表什么
APP和activity的启动流程
使用场景:客户端和服务器的延迟问题,如何防止多扣款?那订单编号在哪里生成?如果在服务端生成的话如何保证不会生成多个订单编号。
项目介绍,各种问,哪些是自己做的
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后如何才能让我们在面试中对答如流呢?
答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?有没有免费资料可以借鉴?为此我整理了一份Android学习资料路线:
这里是一部分我工作以来以及参与过的大大小小的面试收集总结出来的一套BAT大厂面试资料专题包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家。
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划。来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。
最后,祝愿即将跳槽和已经开始求职的大家都能找到一份好的工作!
这些只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢再关注一下~