阿里菜鸟
一面
自我介绍(处女面,跑上楼时候已经气喘吁吁,甚至都不知道如何自我介绍,介绍了一分钟我尬场了)
RxJava、EventBus底层原理(一定程度是自己挖坑用过这些,然后让我跳的)
如何自我实现一个网络请求框架
用过React Native没。(自己用过Ionic,但是面试官没听过,Ionic在2015年相对较火)
平时如何自我学习,2017 Google I/O大会讨论内容有哪些
MVP框架,如何用,怎么用。怎么解耦。跟MVC的差别
二面(莫名其妙的交叉面):
直接省略了自我介绍,问专业方向(GIS),问如何处理地理围栏
如何省电又能实时跟服务器端交互(我说的是AlarmManager+Service),一直传输位置信息给服务器。用了什么协议
由上面的扯到OkHttp底层原理
Http2.0与1.1有啥区别(由这里开始就炸了,完全没复习计算机网络,尤其还是偏背诵的知识的) 5. 有哪些二进制传输协议
那时候刚开始找工作,完全不知道复习知识点,好多都是迷迷糊糊知道,说就说不出来了。
拼多多(现场面。笔试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面吧)
大家可以点击加入群:478052716【JAVA高级程序员】里面有Java高级大牛直播讲解知识点 走的就是高端路线 (如果你想跳槽换工作 但是技术又不够 或者工作上遇到了瓶颈 我这里有一个JAVA的免费直播课程 讲的是高端的知识点基础不好的勿入哟 只要你有1-5年的开发经验可以加群找我要课堂链接 注意:是免费的 没有开发经验勿入哦)