记录一点春招(Android)

春招的一点记录,文笔一般,流水账一样,记录一下挺有意义的:

自报家门:普通二本院校的本科生,应届滴

从大三下学期菜鸟开始自学Android,并且从此踏上了Android的不归之路,暑假的时候开始在招聘网站上投简历找实习,然后很幸运的找到了一份
Android的实习,公司并非互联网公司,进去的时候整个项目刚好需求分析快完成了,于是我参与了几天需求分析之后,技术总监很信任地将整个Anroid项目扔给我一个人从头开始做。。。当时那个紧张,虽然IOS也是独立开发,但他可是有两年经验啊。。。

插个小曲:在找到这份实习的前一天,面试了另外一家,到最后应该谈的很满意了,问我能够来实习多久,我毫不犹豫的回答:3个月,说完那个后悔,于是,初出茅庐的我妥妥的挂,事实证明要先想清楚才去回答。。。

于是,我便开始努力的实习,独立开发一个新的app很辛苦,不过也可以让我考虑很多方面。。。此处省略10000000000字。。。这个时候应该是8月份,秋招差不多是如火如荼,对于我们学校,校园招聘其实很少人关注,所以我并不知道有秋招这种东西,后来开始知道的时候差不多已经结束了,不过后来想想,即使知道了我觉得也还是会一直跪,基础差、项目弱、算法和数据结构一点都不会。

于是,在过年之前,差不多12月份左右,我毅然决然地辞去了实习的工作,休息几天之后为春招做准备。。。

开始准备学习是1月份的时候,这个时候算法的话我只会几道练过的题目,如果问的不是这几道题目,百分百挂。我是先从dfs和bfs开始学起,bfs觉得入手很简单,但是dfs一直不懂为啥几行代码那样写就可以了,直到看了树一些全面的介绍,我才恍然大悟,差不多三天的时间才对dfs有个大概了解,后面的去哪儿、美团最后一道编程题我都是用dfs暴力解决。。。因为我不会动态规划啊。。。然后接触的就是简单的邻接表、链表、二叉树、队列、栈、字符串的运用,都是很简单的那种,对于深入的基本不会,不过对于我这种菜鸟多刷刷感觉很不错,感觉思维开拓很多,至少在后面几次面试,即使算法题目没遇过,也能差不多很快的想出解法,这在以前是想都不敢想的。。。

同时一边开始准备网络、操作系统,由于时间的原因,我大多数时间看了很多大神的总结,知乎上面也经常逛,挺多讲的很详细,比如websocket这个内容就有几十个大神十分深入并且生动的帮你从表层到原理进行剖析,如果可以的话,挤出时间系统地看书会更好,同时对java一些常用知识点的源码进行简单的总结、对jvm也学了一点,感觉要学的很多,所以如果每个人从上大学开始能够知道自己要怎么规划的话并且好好努力的话,
在面对校园招聘的时候,肯定可以事半功倍。。。

然后从二月份的时候开始尝试投递简历,有一些公司对于学校还是挺看重的,有印象的一次是在一次招聘会我排队排了一个多小时,hr看了我的简历之后直接推回给我,我去,你只招211怎么不写明白。。。

一般招聘会都是在大学城,差不多跑了5、6次,大大小小的互联网公司,有兴趣的我都投了,好多次都石沉大海,比较累的是每次来回都要两个小时。。。(想想还有点小激动),然后就是很多公司自己的宣讲会,一般都是晚上在大学城举行,也需要一直跑,每次回来都直接躺在床上,
不过有时晚上收到笔试通过的信息,整个人又精神起来。。

然后一些线上的公司我也投递了很多,并且也笔试过挺多次,顺便记录一下一些还有印象的笔试或者面试的公司的情况:

第四范式
第四范式在我看来属于那种偶尔就只能看看关于它的新闻的公司,里面都是超级大牛,然而不知哪根筋不对,突然来了信心就投了。。。
而且居然给了我面试机会。。。
然后电话面第四范式的时候全程蒙蔽加紧张
q:会python吗
a:不会
q:会linux吗
a:一点
q:写个***命令
a:不会
q:会hadoop和redis吗
a:不会
。。。
写两道算法题,面试官出的挺简单的,一道文件读取之后操作,一道是找规律的,然而细节错漏百出,面试官大牛不用一秒就找出了bug。。。菜鸟太渣了,谈了一下学习。。。稳稳的挂

三星通信:一面技术 上机考一道算法题 hr面试 ,实习了两个月,三星的环境很好,旁边是两个大公园,绿树成荫,而且还有食堂,导师也都十分友好,年轻帅气有活力,幽默搞笑很低调,本菜鸟在里面学到了很多

擎天柱游戏:擎天柱游戏是听一位中大的大佬介绍的,每天10点上班,6点下班,啧啧啧,而且面试体验也不错,会给每位面试者一瓶饮料,
是两个面试官一起面试的,面了50分钟左右,然后。。。挂
有几个问题还记得:
1、socket的使用,使用什么数据格式交互,自己设计交互数据格式,最后跟面试官讨论用String
2、垃圾回收的过程中对应的内存还会继续做其它事吗
3、jni流程
4、vector、array、list区别,list 的 get() 怎么保证可以获取指定position的值
5、动态权限如果申请之后用户设置取消还需要再申请吗

银汉游戏:要马上入职的,菜鸟要做毕设。。。挂
1、安装一个 apkA 时候跟一个已经安装的 apkB 冲突,要将已经安装的 apkB 删除才能安装,这两个apk是不一样的,是什么原因
2、RecyclerView异步加载图片错乱怎么解决

久邦数码:宣讲会笔试,过了几天现场两轮技术面。。。成了候补offer
博雅互动:宣讲会笔试,第二天技术一面 hr面试。。。挂
PS:去博雅面试那天,在一个学校休息的时候,吹着风,发现了一首很好听的歌,现在也成了我的手机铃声

然后就开了很多挂,期间很多笔试都挂,挂挂更健康。。。n 连跪,此处略一万个字

CVTE  (现场面试)
这家公司招聘工作做的挺好的,地铁口有公司的车接送,十几分钟就可以到园区,面试之前还让我们在公司电影院看了一下复仇者联盟。。。环境66的,还有水果零食啥的
有一些问题忘了
一面:
1、AIDL怎么使用
2、写一个队列
3、怎么实现进程保活,native层怎么做保活
。。。

二面:
1、写一道算法
2、怎么设计一个下载框架,从那些方面考虑
3、如果做一个app,要怎么考虑
。。。
4、规划

CVTE给我的感觉是:一面问的知识点比较多,二面一般从整体架构出发。很喜欢问设计模式,还有你整个项目的架构,所以整个项目的整体结构要很清楚,最好能够流利画出来,常见的设计模式也要会写出例子,分析利弊


人人网 (视频面试)

一面
1、bitmap怎么计算占用内存,怎么处理OOM,bitmap工厂有什么API可以处理,不压缩要求加载原始大图呢
2、写一个DCL,写一个登记式,区别是什么
3、android哪里用了责任链模式,讲一下适配器模式、建造者模式
4、glide和picaso、fresco区别,好处
5、view的事件分发
6、整体项目怎么考虑的
7、写一个算法
8、StringBuilder和StringBuffer的区别

二面
1、实习项目日活量多少
2、一点项目细节。。。
3、自己有没有写过一个图片框架
4、说一下自己做过的自定义View
5、retrofit源码,okhttp源码
6、retrofit和其它网络框架区别,好处
7、弱网环境怎么处理
8、有没有遇过view事件冲突,怎么处理
9、android源码设计模式
10、怎么加密
11、写一个算法,时间复杂度
12、层级优化,merge的作用

三面
第三轮本人一直蒙蔽,感觉有点逗比,离开始还有20分钟的时候,我调试了一下麦克风,顺便点进去看了一下,面试官已经在线了,然后,我傻傻的又关了页面。。。重新进去停留在34秒,面试官离开了。。。
我擦,不会这么悲剧吧。。。难道就这么被刷了。。。早知道应该刚刚沟通下啊。。。
经过几分钟的纠结,等到11点的时候面试官终于准时到了,踏着五彩祥云。。。然后调试的时候,网络断了。。。好吧
接下来,面试官的视频一直调试打不开,面试官说他比较丑,就不用视频了,然后我们互相哈哈大笑了一下。。。后面我就一直看着自己在面试。。。感觉怪怪的。面试开始,先自我介绍。。。咳咳,你好,我。。。。两分钟后,面试官说你先等一下,我去拿一下耳机线。。。然后就跑了出去。。。然后,重新自我介绍。。。
接下来就是各种蒙蔽,可能太早起了,哈哈。。。

1、讨论了一下项目,讨论挺久,讨论讨论着到产品方面去了
2、具体说一下实习学习到了什么,我自己答得有点云里雾里
3、谈一下适配器模式,写一下,单例模式优点,有点秀逗,单例我居然忘了。。。
4、推送的原理,优缺点
5、推拉流
6、html5 和 html4 对比新特性,websoceket 的原理,HTML4怎么实现websocket,和websocket对比有什么缺点
7、多线程有什么缺点
8、进程和线程
9、讲了讲长连接、心跳
。。。
然后让我问问题,整个人傻傻的,实习经历自己总结的不是很具体,还有设计模式。。。不过这段经历挺有意思的


一家创业公司:

一面(电话面,1个小时)
1、自我介绍
2、讲一下栈和堆
3、垃圾回收算法,怎么对新生代垃圾回收做优化,老生代怎么优化
4、讲一讲队列、栈、链表、二叉树
5、讲一讲进程和线程,有什么特点和区别,怎么耗资源
6、android的多进程有什么用,怎么用,有什么缺点
7、多线程有没有使用过,线程池原理和工作流程,线程池里面怎么保证多个线程同时访问阻塞队列不会出错,如果是你会怎么做
8、谈一谈观察者模式,为什么要用观察者模式而不是直接对象方法调用
9、讲一下享元模式
10、android哪里用了观察者模式,广播和EventBus有什么优缺点
11、activity有几种状态,activity在哪个线程
12、service和thread有什么区别
13、什么是ANR,怎么避免
14、讲一下handler的消息机制,service能不能更新UI
15、hashmap的key会不会冲突
16、平时怎么学习的,英文水平怎么样,逛什么外国网站

过了两天后,现场技术面

二面(1个小时刚刚好。。。)

1、Strng s = new String("***") 虚拟机做了什么,JDK 1.7 或者 1.8 有做了什么改变吗
2、讲一下虚拟机分区和作用,switch 能够传什么类型的参数
3、讲一下二叉树的前序遍历,为什么要用栈
4、dfs一般怎么使用,如果深度搜索一棵树怎么做
5、LinkedList源码
6、hashmap的源码,JDK1.8 有什么变化,如果调用 get(key)那hashmap里面是怎么找出想要的值的,为什么要用红黑树
7、用过数据库吗,锁粒度是什么
8、hashmap是线程安全的吗,讲一下concurrenthashmap怎么实现,JDK 1.8 有什么变化吗,CAS,TreeBin等等
9、讲一下 fail-fast
10、求一下两个大整数的最大公约数
11、讲一下伪共享
12、并发的三个特性是怎么样的,缓存一致性呢,i = j 是不是原子性的,volatile能不能保证有序性
13、什么是内存泄漏,怎么会造成内存泄露,android怎么判断内存泄露,LeakCanary 原理是什么,垃圾一定会回收吗
14、求一个数对1024取模(这个看过hashmap源码就有)

三面(又是1个小时刚刚好。。。)

1、RxJava用了什么设计模式,RxJava怎么体现的,通常怎么使用的,为什么要使用RxJava,给一个服务器的数据比如一个url,要怎么解析
2、RxJava 怎么切换线程,哪个运行在主线程,哪个在子线程
3、Retrofit是什么,为什么要用retrofit
4、讲一下项目遇到的难点
5、整个项目模块划分或者架构
6、sleep 和 wait 区别
7、抽象类和接口区别
8、在一组排好序的数组找两个数,让它们加起来等于某个数
9、讲一下MVC和MVP,比如登录用MVP怎么做
10、二叉树反转要几行代码,简单口述一下
11、讲一下get和post区别(从http规定、以及服务器和浏览器的实际情况)
12、做过SDK开发吗,了解过React Native吗
13、用过什么设计模式,单例模式DCL怎么写,为什么要使用volatile,有没有用volatile会导致什么结果,还有没有其他写法
14、讲一下***模式
15、LruCache的原理是什么,为什么要用LinkedHashMap,LinkedHashMap原理,结构怎么样的
16、设计一个LruCache
17、怎么实现一个优先级队列
18、写一个字符串相关的算法

三天后,四面、五面。。。略去n个字
六面:
第六面印象很深刻,总共50分钟刚刚好,是一位前雅虎首席架构师,基本是对方在讲,问了一点数学知识,蓝后耐心给我讲了架构设计、
区块链、微服务、机器人、docker、android 等等的结合应用,受益匪浅

去哪儿网
一面:
一面面试官是java后台的,人很好,面完之后就带我一起走去前台和前台说我过了一面,在等二面的时间有点久,刚好一面面试官经过,走过来拍了一下我肩膀问我情况怎么样,感动
1、刚进去就讨论了以前参加的数模比赛一些细节,讨论了概率问题、邻接表、图、二叉树、红黑树问题,然后问了怎么将链表转换成二叉树,问了一下栈和队列,接着问了
一个数据挖掘比赛的细节
2、问了滑动窗口、拥塞控制的内容,tcp的一些参数
3、socket的构造方法,使用
4、设计一个线程要怎么设计,注意一些啥,还有进程调度算法,线程几种状态
5、gc,事件冲突处理

二面:
二面面试官也是java后台的
问了下设计模式、线程池的设计等等,省略
然后问了我一些学习途径,我讲到了stackoverflow,他说他们之前遇到错误一直找不出,最后发现是框架的问题,在stackoverflow找到了答案,然后就说外国文章的优点,最后问了我一些兴趣爱好,我说乒乓球,然后讨论了怎么学乒乓,买拍子等等的,说学技术和学乒乓是一样的。。。
最后问了我对PE工程师有没有兴趣,我果断say no。。。 然后就say goodbye,接下来北京玩耍了两天,感受了帝都人们的热情


美团:
一面(电话面,50分钟)
第一次遇到女生面试官面试,问了项目的问题:
滑动冲突的处理,MVP模式的使用,分享,数据库的具体使用,自定义首页布局,模块划分,优化
然后问了一些基础问题:
1、自动登录
2、启动模式
3、service
4、Glide、picasso、fresco区别
5、DCL设计模式
6、view的绘制流程
7、自定义view的流程
8、UI的性能优化
9、material design 相关控件的了解
10、运行时权限
11、view的事件分发
12、TCP和UDP
13、数据存储几种方式
14、listview和recyclerview区别
15、线程池原理
16、数据库更新注意的问题
17、git的问题
18、有没有用过jni和c/c

过了几天
二面(现场面)
二面比较久,一位中年的面试官
刚开始拿了一份笔试题给我做,时间限定为半个小时,面试官在旁边看,大部分是关于android的,还有设计模式、数据库、一道算法题、一道场景题、还有一道关于项目难点的这一道我没写,然后面试官仔细检查了下,从笔试题问然后拓展,主要是应用场景要注意,还有就是一些源码比如消息机制不仅要清楚流程,对于细节也要清楚,里面一些常用的组件一一对应的关系。。。略去n个字,有一点是面试官会在电脑上网查一下你说的内容

三面
三面挺轻松的,问了最满意的项目,反射、多态、工厂模式、怎么保证udp可靠性(这里给我讲了一些知识)、死锁问题、socket等等等等,做过的其他项目、也问了挺多场景题。。。
还问了一些个人信息

面完已经12点了,吃完午饭继续hr面试,略,最后hr当场说全部面试都通过,说这样可以不用让我等结果几天,好评。。。


啰里啰唆记录了一些,好像并没有写什么东西,一边跑春招还要一边准备毕业设计,春招很辛苦,不过仔细回忆一下,其实挺有意义的,这期间感受最深的是心态会影响很多,有时连续多次打击心态会爆炸,特别是在面试到最后一轮等结果的时候,不过仔细想想我们要学的还有很多,要爆炸也要等到找到工作以后,哈哈,就是心态放轻松,所以这时候我还是会继续认真学习,调试调试源码,反正就是需要相信自己,因为我们的未来是星辰大海。。。扯远了,本菜鸟现在依然很菜,依然在磕磕碰碰,总结起来就是几句话:

1、自信,拳打南山少林寺,脚踢北海幼儿园。。。
2、明确自己要做什么并为之努力,引用一位超级大佬阿孝大佬的一句话:coding for fun
3、坚持
4、总结
5、睡眠要足够

看到很多牛友一直在努力,所以记录一下自己的一点经历,希望有帮助,与诸君共勉

全部评论
感谢楼主的分享,冒昧地问一下楼主最后去了哪家公司了呢?
点赞 回复 分享
发布于 2017-05-11 14:42
扎心了,老铁
点赞 回复 分享
发布于 2017-05-11 15:44
广东人啊老铁
点赞 回复 分享
发布于 2017-05-11 16:20
厉害,学习了
点赞 回复 分享
发布于 2017-05-11 16:43
扎心了,老铁。。
点赞 回复 分享
发布于 2017-05-11 21:21
觉得自己找不到工作了 啥也不会
点赞 回复 分享
发布于 2017-08-18 21:00
学校在大学城吗
点赞 回复 分享
发布于 2017-08-19 20:59
这么多面试题,楼主是怎么记住并写在这里的?
点赞 回复 分享
发布于 2017-10-16 12:47

相关推荐

评论
17
67
分享

创作者周榜

更多
牛客网
牛客企业服务