内推开始一个多月到现在也就面试了阿里、拼多多跟网易、面经有限。(阿里跪了,最后通过的是网易跟拼多多)
记性不好,想起来的也就这么多,大概只有二分之一左右吧,都相对偏基础,发散性的问题不多。
所以,个人目前这么点经验来看,必须要知道的是android基础+计算机网络(计算机网络必问!!!!!!),然后项目涉及方向多点也有好处,比如混合开发,JNI/NDK,二维三维,至少看起来比较全面。然后自己简历上写的东西一定要熟,会用也不行,得知道原理(捂脸,不然被问炸)
阿里菜鸟
一面
-
自我介绍(处女面,跑上楼时候已经气喘吁吁,甚至都不知道如何自我介绍,介绍了一分钟我尬场了)
-
RxJava、EventBus底层原理(一定程度是自己挖坑用过这些,然后让我跳的)
-
如何自我实现一个网络请求框架
-
用过React Native没。(自己用过Ionic,但是面试官没听过,Ionic在2015年相对较火)
-
平时如何自我学习,2017 Google I/O大会讨论内容有哪些
-
MVP框架,如何用,怎么用。怎么解耦。跟MVC的差别
二面(莫名其妙的交叉面):
-
直接省略了自我介绍,问专业方向(GIS),问如何处理地理围栏
-
如何省电又能实时跟服务器端交互(我说的是AlarmManager+Service),一直传输位置信息给服务器。用了什么协议
-
由上面的扯到OkHttp底层原理
-
Http2.0与1.1有啥区别(由这里开始就炸了,完全没复习计算机网络,尤其还是偏背诵的知识的) 5. 有哪些二进制传输协议
那时候刚开始找工作,完全不知道复习知识点,好多都是迷迷糊糊知道,说就说不出来了。
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加群。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加群。
5. 群号:高级架构群 651013434备注好信息!
6.阿里Java高级架构师免费直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
拼多多(现场面。笔试4过3 )
一面(面试官都不太了解JAVA,我没看懂拼多多套路):
-
把笔试的题拿出来,问代码思路逻辑,比如为什么用TreeMap不用HashMap
-
如何对APP进行内存优化
-
项目的并发度多大,如何处理crash后的信息回传
-
计算机网络相关
二面
-
聊了下涉及到OpenGL的项目。以及OpenGL3.0与2.0的差别。
-
手撕代码:多叉树的后续遍历
其实感觉越是像拼多多这种有点无厘头的面试,虽然面试过程轻松,但是结果往往也都别在意。不是学霸批,HR说现在说最早校招时候出结果,估计就是没结果.(最近几天发来消息说offer通过了,手动捂脸)
网易
刚回家5天,一条短信就从西安飞了回来,关键单程路费还不能报销,8.21号面试的,然后后面还有7天假期就瘫痪在了寝室,暑假算毁了还好有个offer安慰下
一面(明显大佬级别):
-
你搞android应该也很了解Java的多线程吧,讲讲通过Handler为什么能够更新UI。(一开始我以为是谈谈Handler的原理,讲了一通,面试官
对我说你讲的我都知道,然后一步步诱导,终于我说到了ThreadLocal,然后他说对。之后就稍微扯了下ThreadLocal)
-
根据简历,问自己要实现一个地图容器的话怎么实现。然后一步一步延伸下去聊到了View与SurfaceView
-
JNI/NDK开发如何使用,如何定义java文件与cpp文件中的方法(主要看是不是真的用过吧)
-
四种启动模式,用过哪些,出过什么问题。(包括聊到了onSaveInstanceState跟onRestoreInstanceState的场景与时机,然后在一个点跟面试官
看法不同,我说我调试时候遇到过相关问题,面试官让我回去再确认下)
-
如何处理内存泄漏。也提到了简历中20000*20000大小的图片如何加载的
-
socket与Http区别,socket长连接断开了怎么办
-
在socket传输文件中链接断开了,怎么继续传输文件。引申到了如何断点续传
-
涉及到自己项目中用到的优化方案与策略,尤其针对图片的
-
看到用过GreenDao,问有没有在一个事务中提交两种不同的操作。(觉得应该是说一个事务中,比如更新一张表中的一个Person记录,新增一条Dog记录)
-
MVP框架,混合开发相关
面试官对我的总体评价:用过的开源库不少,为什么不自己写呢(哎,尴尬)。问了能不能实习,然后留了简历做了个记录就下面一轮面试了
二面(是个帅小伙,我当时以为自己一面跟二面顺序反了):
-
自我介绍
-
Handler机制
-
如何自己实现线程池。线程池内的队列如何管理。线程池大小N的话,连续push进来M个的任务(M>>N),如何处理,比如20大小的线程池扔进来10000个任务
-
个人方向偏移动GIS,跟地图打交道比较多,谈到了遥感影像(也就是稍微大点的图片啦)缓存置换、回收策略。面试官让详细讲了一遍,涉及到 的点是LRU跟Java的几种引用,一些数据结构。问内存缓存怎么做的,K-V对设定,提到了类似Picasso中,需要本地处理旋转,但是URL一样的 时候,K值的设定方式
-
OkHttp底层原理,TCP的三次握手四次挥手全流程(画了每次握手挥手时候的报文内容与控制位设定)
-
还看过哪些源码(我说看过EventBus,貌似面试官也不想问了,笑眯眯的说你去等HR面吧)