本人近况
本人博客 http://mikeejy.github.io/
先说下博主最近近况,怪自己太作,有好的机会不好好把握,早知道找个大公司沉淀一段时间好了,非得出来受虐哈,人都是犯贱的……所以目前整理几家去过的公司以免以后被坑。
金开门(好贷网旗下孵化创业公司)
这公司是在BOSS直聘上投的
总体面试还算不错吧Android技术那面一般也不会问特别深主要是最新的主流技术一般会问下,还有就是之前的项目会大致问一下
接下来是总监面,总监是个蛮不错的人,满有亲和力的,大概就是聊推送这一块的,还有支付,因为这公司主要业务是聚合支付相关的,总体还OK
接着是HR 谈薪水还有介绍公司近况,貌似最近一直是995的节奏
最后是大Boss面貌似很屌的说了一句目前我们就是996的节奏(应该是试探我的),我觉得跟他也没啥好谈,他一幅咄咄逼人的气势,由于他比较强势,我又不妥协,所以就没有后续了...
音悦台
这个也是在Boss直聘上约的,公司就在三里屯SOHO
公司主要业务主打MV的剩下的我就不多说了,前几年业务还是挺火的HR人还是很不错的,公司的环境神马的都没得说,妹子也多╮(╯_╰)╭没给offer确实感觉挺遗憾的
首先光技术面问的就蛮深入的,基本最近貌似招人都比较苛刻~多线程,线程池,handler,Looper源码层,activity源码,四种启动模式,生命周期,View的绘制流程,自定义view,手势传递问的最复杂也最多
还有一些开源项目相关的问题吧 okhttp,glide,eventbus相关的
但是特么的这个面完之后就没有然后了,估计是薪资没谈拢?
只说按公司流程来说还要有次复试,
HR说下周一大概会通知结果,也确实通知了(比较少有的有职业素质的公司吧)
1905电影网
这个是在拉勾上投的,公司在西直门
我敢说这个面试官是这么多年我遇到的最能装逼一个,当然人家技术也蛮不错的,你不会的,遇到问题的,人家也耐心给你讲解哟,无形装逼,最为致命啊!如果你技术不是很好的话千万不要去这家公司找虐博主之前有个朋友也来过这家面试,貌似最后给说开不了他的工资,还跟他说来面试很多
给我种感觉 就是面试造核弹,工作拧螺丝?最后还问了我项目里有啥亮点
问题蛮多的好多都忘了,大致记住几个
Glide ,Picasso都分别有几个线程池
Asynctask 源码,为什么android4.0以后是串行
OnMeasure 方法几个参数对应含义(这个题问的最多的所以我把答案贴上O(∩_∩)O~
首先我们要理解的是widthMeasureSpec, heightMeasureSpec这两个参数是从哪里来的?onMeasure()函数由包含这个View的具体的ViewGroup调用,因此值也是从这个ViewGroup中传入的。这里我直接给出答案:子类View的这两个参数,由ViewGroup中的layout_width,layout_height和padding以及View自身的layout_margin共同决定。权值weight也是尤其需要考虑的因素,有它的存在情况可能会稍微复杂点。
了解了这两个参数的来源,还要知道这两个值的作用。我们只取heightMeasureSpec作说明。这个值由高32位和低16位组成,高32位保存的值叫specMode,可以通过如代码中所示的MeasureSpec.getMode()获取;低16位为specSize,同样可以由MeasureSpec.getSize()获取。那么specMode和specSize的作用有是什么呢?要想知道这一点,我们需要知道代码中的最后一行,所有的View的onMeasure()的最后一行都会调用setMeasureDimension()函数的作用——这个函数调用中传进去的值是View最终的视图大小。也就是说onMeasure()中之前所作的所有工作都是为了最后这一句话服务的。
我们知道在ViewGroup中,给View分配的空间大小并不是确定的,有可能随着具体的变化而变化,而这个变化的条件就是传到specMode中决定的,specMode一共有三种可能:
MeasureSpec.EXACTLY:父视图希望子视图的大小应该是specSize中指定的。
MeasureSpec.AT_MOST:子视图的大小最多是specSize中指定的值,也就是说不建议子视图的大小超过specSize中给定的值。
MeasureSpec.UNSPECIFIED:我们可以随意指定视图的大小。)
广播怎么不跨进程
Rxjava 操作符
Rxjava 1 2的区别
还有问了轮播怎么让用户按下三秒之后继续翻页
还有五种进程级别
多线程下载,3个线程如何下载10M的文件
两列Recyclerview 如果是表格布局怎么添加header view
Thread 和intent service
最牛B的一个问题是类似天猫这种大厂APP实现的全局路由功能是怎么实现的
参考://www.greatytc.com/p/79e9a54e85b2
(本意就是类似于推送的时候处理推送的逻辑不写一大堆switch case,而是在入口处动态去配置就可以)
凡普金科(普惠金融旗下)
这个是在拉勾上投的,公司在银河SOHO
当时面试地点其实是发的有问题的,前台大门明明在A座嘛,你非得发个D座那边的位置,结果那边的门锁了,我敲了半天才有人开,我才知道走错门了应该从A座的电梯上来,可是就是发的D座,这里吐槽下。。。然后前台妹子给我的笔试题居然是Java的(貌似给错了)面试的深度基本跟1905那哥们差不多,也是activity启动模式跟手势传递还有Looper的源码那块问的比较多只是这个人最后问了一个尺子的效果:附上项目地址哈
https://github.com/kailaisi/WheelSelect
类似这个地址demo的实现效果只是年龄换成了金额(毕竟是做金融的公司 当然这样咯)只说还有复试,但是也是没下文了 ~~o(>_<)o ~~
映社(木蚂蚁)
这个公司绝对是坑比中的战斗机,去了就让你一直等啊等,等到花都谢了的那种
PS:他们现在的项目主要是做直播的产品叫“映社”(有种抄袭映客的嫌疑~~)
去的时候公司前台都没人,打电话也没人接,后来一个快递小哥进门了我和另外的一个也是面试的才进去首先是有笔试题的话说蛮弱智的(做完感觉也不会怎么看,完全就是浪费时间啊啊)然后那哥们把你领到一个类似小会议室的屋子里,这哥们给人的感觉技术也很一般,没有之前面的那么强势,基本都是照着简历问的,问直播跟FFmpeg那块偏多,贝塞尔曲线?自定义View,偶尔穿插下retrofit,Rxjava,热修复神马的,面完之后就出去了让你一直等啊等,等了快40分钟的时候进来说总监在开会
这个公司真特么的是个奇葩,你约人的时候不会挑个没会的时间么,貌似拉勾上有个面php的哥们跟我一样也是被搁置一直等啊等,真是日了狗了!最后来了一句改天复试吧只说还有复试,让我来我也不会来了。。。
Melons(北京知行远科技)
这家公司是我在拉勾上投的,公司成立于2016年太初创了(我能怎么办,我也很绝望啊,貌似最近拉勾的公司比较少,稀里糊涂就投了╮(╯▽╰)╭)
Boss也是做android的,而且还是前最美应用的联合创始人,技术出身还是蛮不错的公司早10晚8做海外项目但是目前的状况是跟别人挤在一间办公室里,那个隔壁组的貌似是Google天气的团队。。。
技术面还是跟之前的那几家差不多,基本都不会看你做过的项目就咔咔的问底层源码咯,唯一不同的是启动模式那块多问了taskAffinity这个属性,我确实是没用过,面试官拿着macbook一个一个的循序渐进的问着,面试流程大概一个半小时左右,然后跟boss聊了聊薪资和之前为什么离职,因为是早上十点半约的,一直聊到了中午12点40多
我中午饭都没吃,然后紧接着就去中关村准备下午那家的面试
PS:今天还下着雨,挺苦逼的。。。
目测不会发offer,可能是小公司给不起薪资。。。
NewsDog(公司名字就叫这个薪资标的还挺高)
这家公司是我在拉勾上投的,公司应该是B轮了已经
因为是约的是下午两点,而且刚从Melons那里面完就来了,所以去这家公司的时候连中午饭都没吃,让前台给接了杯水暂时压压惊。。。看简介公司应该是做海外市场主要是信息推荐跟数据挖掘的业务(不知道他们现在的产品是啥)
技术面主要是根据简历去问的,比较在意内存泄漏,内存优化还有View的过渡绘制这一块的东西,还有就是问了问图片开源库Picasso v/s Imageloader v/s Fresco vs Glide 区别以及如何去选择吧,还有eventbus的源码以及注解的优点,其它的大概就是还问了问项目的难点之类的
比较操蛋的是没有讨论薪资,然后就直接送客了,不造差在哪里。。。
曙光无限
曙光无限这家公司是在boss上约的,公司地址在回龙观东大街的腾讯众创空间(办公楼的环境蛮好的),公司主打产品是海外的项目,旗下产品几十种还是蛮多的
- 第一面 :只是人事先照着简历初略的聊了聊以前的项目经验,由于公司是做海外滤镜软件的,可能对图片算法这块要求蛮高的,福利这块目前是采取接近避税的方式,第一年还不给交住房公积金,貌似还需要第二面总监面,而且还要上机写demo...
- 目前android行情 :从以往的面试分析来看基本android的行情接近饱和状态,薪资这块基本稍微要高点的话直接就给你pass然后可能用其它人候选人去对比,市场的行情还真是惨淡
- 后续 :没有通知进一步的面试~~~~ HR先面的公司一般都会要求复试各位如果考虑时间成本的话要慎重去这种公司。。。。
遇见科技
遇见科技这家公司是在boss上约的,公司地址在知春路附近,公司的办公环境也还不错哈,项目应该是一款社交软件,貌似起步还是蛮早的,已经做了几年了
- 第一面 :主要是技术面,问的以简历的内容为主还有面试官会看以往做过的项目(现在看项目的公司确实不多了)比较在意的是之前做过的项目整体的流程,整体架构设计模式还有业务这块的详情,基本都是围绕做的项目这块的技术点来的涉及的知识点也基本涵盖了目前比较流行的开源组件,还有会问一些关于同类框架之前的区别与对比:比如volley与okhttp,图片框架,数据库greenDao,realm,litepal等等性能方面的问题
- 第二面 :第一面没什么问题之后会和HR进一步沟通,主要介绍了公司目前的产品方向还有项目节奏,福利待遇神马之类的
- 总监面 :能见到总监也基本很不容易了,基本也是聊了聊以往的项目,可能比较看重的是解决问题的能力,会问擅长哪方面(Ui还是业务?)项目难点等等。。。
- 后续 :没有通知是否给offer(难道是薪资问题??现在市场要到20K左右貌似就要考虑考虑了)
邻动
邻动 这家公司是在boss上约的,公司地址也是在知春路附近,公司的办公环境没的说,门口摆着各种零食饮料,面试等待的过程,前台妹子还给了一杯饮料喝O(∩_∩)O~,公司主要做视频方向的项目,目前已知产品叫“快牙”
- 第一面 :主要是技术面,基本问的跟之前遇到的问题一样,其中回答的不是很好的问题户要是MessageQue的源码实现(我回答错了,应该是链表)还有自定义线程池(应该是问线程池那几个参数),但是公司的技术要求可能希望更倾向于有FFmpeg相关经验还有做过视频剪切,裁剪之类的经验吧,问完就送客了....内心其实还是挺喜欢做视频这块的项目(⊙﹏⊙)b
感觉问到的问题除了那两块其他的回答还是蛮好的,尼玛心累
元宝亿家
元宝亿家 这家公司是在boss上约的,公司地址在东直门,去了直接在前台填表,然后一个目测像总监的人直接面试,他们现在的项目是采用MVP写的应该是想找个人快速接手
第一面 :主要是技术面,问的东西感觉还好,但是感觉自己发挥的不是很好,Java String类的底层源码(其实就是char数组),Hashmap实现原理,Android 广播 Service相关的,ANR,gson高级用法(比如序列化的时候如何排除某个字段),项目里用到的设计模式,android手势机制用到了什么设计模式(是责任链模式,这个我回答错了),内存泄漏和内存溢出,子线程不能更新view的机制,Rxjava retrofit okhttp,给我印象比较深的是问了mac上pwd这个命令是干嘛的(我用了这么久mac确实没有用过这个命令,是显示当前文件全路径的)还有用没用过Home brew,最后问了问Git相关的命令pull跟fetch
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm --cached a.a 移除文件(只从暂存区中删除)
PS:技术很耐心的给我讲解了我没能答对的问题
总结 :感觉自己跟目前市场上需求真正意义的Android高级工程职位还是有一定差距的,好多东西还是欠缺好多,还要继续恶补了,fighting...
约了第二天复试,信心严重受挫,不知道能不能谈拢...
复试完结在考虑是否过去...
最近面试的几家公司
这周面的几家公司相对来说都比较正常了没有过多的问源码,基本都是看简历然后以往的项目经验,基本能把以前问过的东西能正确的说出来再面的别的公司也基本OK...
苏宁体育 这家公司是在boss上约的,公司地址望京锐创国际,去了直接在前台填表,然后有个笔试题(还蛮简单的,主要是写一个单例,多态),填完就一直等,因为面Android的在排队,然后等了快半个小时,来了两个人面的一个是Android,另外一个是一个女的项目负责人。。。
总体的面试感觉还OK,因为是做体育类视频项目的,会要求多一些FFmpeg的技能。。。公司会比较在意这一块的想来面试的建议先把这部分摸清,否则人家都不会往深层次的提问,就算问了也接不上哦~
薪资我只奢求不低于之前在信和的待遇,估计按现在的行情很难啊,有种想回原来公司的冲动~~o(>_<)o ~~。。。大的环境冒险离职真的很危险啊,出来都要降薪了,现在这个时间段确实不适合找工作,希望有离职想法的兄弟别冲动....
新娱时代 这家公司都忘了是哪个大兄弟帮我推的,公司原来是在魏公村,现在搬到了中关村的鼎好电子城写字楼,去的时候还一直在装修,面试的地方极其简陋,因为是内推的技术这块基本就大致聊聊,感觉薪资也是给不到。。而且目前公司还是996的节奏,做海外直播,貌似项目还蛮多的工作强度很大。。。
- 目前他们公司的项目是采用MVP写的,不理解的是为什么项目还用比较陈旧的Volley作为请求框架...
半糖 这家公司是一个非常好的哥们推给他们公司的php的童鞋然后帮我推的,公司在雍和宫的一个胡同里,非常有文艺气息,来到公司首先要填表然后还要填一份性格测试,之后来的面试官也非常的有亲和力,基本都在聊以往互相的项目经验之类的,面试官做Android也蛮久了可能比较保守,自己公司的产品并木有用到最新比较主流的技术框架,应该是考虑项目稳定吧,但是我感觉也太保守了,公司的产品做了三年按他的话来说就是迭代的时间太紧张,基本没有重构的时间就开始做下个版本了,我觉得还是应该搞一搞技术变革的,肯定能提升团队整体的效率,并跟他推荐了一个蛮好用的插件jrebel for android...
这里安利几个本人一直在用的比较好用库
下拉刷新&滚动到底部加载更多 https://github.com/MIkeeJY/demo-1
这个项目是由一个CSDN大神叫Li Hong修改自PulltoRefresh那个库而来,基本做到了View的分离,用法也比较简单就是直接把拓展的控件放进去,理论上支持所有的View的下拉,需要注意的是这个库只实现了listview的加载更多,recyclerview需要自己拓展
https://github.com/ybq/Endless-RecyclerView 这个库实现了recyclerview的加载更多配合上面的下拉刷新控件对比别的recyclerview的扩展,这个是代码量最少最简单且bug比较少的,其它类似的扩展大概就是用装饰器模式去封装recyclerview的adapter咯~
https://github.com/MIkeeJY/OkHttpUtils-2 自用Okhttp封装,参考了鸿洋大神Okhttp2.x版本的封装,采用纯Okhttp实现,基本能满足所有的网络请求
Glide封装可以参考 https://github.com/whyalwaysmea/BigBoom 这个项目中抽出接口的方式
https://github.com/jinloong/BannerLayout 虽然star不多但是用起来非常稳定的一个轮播库(比较冷门,相反star数多的库反而各种bug,(⊙﹏⊙)b)
总结 :面试也是一个不断总结跟学习的过程,可能拿到合适的offer还需要一些运气的成份,我始终坚信就算大的环境再不好,但是其实整个行业还是缺牛人的!一时的不景气并不会影响真正技术好的人,博主已经入职了,祝大家好运~
PS :首先写这篇文章的目的不在于针对某某公司,这个选择都是双向的,大家谁都不欠谁,只是想把遇到的公司做一个总结展示给大家看,供大家以后求职时候的参考,在于告诫大家如果没什么想不开的千万不要在这个时候离职,比较目前环境可以说是非常的严峻,离职要慎重!!!离职要慎重!!!离职要慎重!!!重要的事情说三遍~!如果有针对某些公司负能量的言语,可能言语过激,希望大家能及时指出,我会及时修改,目测应该还有人对我的技术做出了评价,我也承认目前跟真正的Android高级是有差距的(但是毕竟还是有些技术实力的,15年面过腾讯,优酷,16年面了Apus都拿到了offer,只是我当时想法太年轻没去而已),但是目前Android层的东西还是蛮杂的,这里只是记录下今年辛酸的面试历程。。。