我的2017年校招历程

        在此留下我校招的面筋,可能不是像大神那么丰富吧,至少对后面找工作的会有点帮助,下面是传送门:
        http://blog.csdn.net/hzw19920329/article/details/52948610
         有需要电子版面试资料的可以私信找我,希望能帮到你们
------------------------------优雅的分割线-----------------------------------------
         因@向宇同桌邀请,将帖子内容搬运过来啦,见下:
         算起来已经有将近两个月没有写博客了,感觉自己慢慢变懒了,这段时间也迟迟进不了状态,拿起书就想着玩一玩,然后越来越懒,越来越懒,要改要改奋斗 奋斗 奋斗,今天决定把我的一段校招历程总结出来分享给大家,里面有写到不妥当的地方希望各位大牛能够指正,我拿的offer也不多,质量也不高,所以不存在什么炫耀之意,只是想单纯的把我遇到的坑以及经验分享出来,毕竟我也是从众多前辈的指点中慢慢成长起来的,我觉得我也有理由、有义务贡献我的一点拙见了,哈哈哈,下面切入正题(两个月没写博客,感觉句子都连贯不起来了抓狂 抓狂 抓狂)

先来说说我的基本情况,我不是计算机科班出身的,本科是数学专业,也没真正意义上有点深入的学过编程语言,之前大学里大家都是为了考试应付应付,也没放心上,真正比较系统的学习编程是在去年五月份我来到实验室的时候,学的是Java编程,最初看了一个月的基础,然而也没什么进步,就只知道些语法什么的,对于什么Web开发,SSH之类的更是一脸懵逼,屁都不懂,好在我的入门是有师兄带的,有什么不懂的可以问他们,然后他们会不厌其烦的为我解答,在此特别的感谢他们(张师兄,席师兄呀,不造你们会不会看啊啊啊啊吐舌头),这样,我也就磕磕碰碰的慢慢架起了编程这辆车,会简单的为实验室的项目打打杂之类的了;后来实验室的一个Android项目让我渐渐接触起了移动端开发,好幸运的是在我遇到问题或者瓶颈的时候,都能问实验室已经毕业的周大神来为我指点指点,而且每次被指点之后都有种顿悟的感觉,再加上自己对这方面比较感兴趣,因而最后校招投递的岗位全部都是Android移动端开发,有了师兄们的领路,一年来,至少我学会了该怎么学习编程,该怎么调试程序,查找Bug,再次感谢啦啦(散花散花)........

         来说说该怎么准备校招,我从五个方面来说说吧:

         (1):首先就是你的简历了,一般大家的简历的话都包括几个部分,求职方向,教育经历,个人技能,项目经验,获奖情况,想写的话可以写写兴趣爱好之类的,自我感觉用处不大,毕竟你不是应聘什么文员之类的岗位,其中最关键的就应该是个人技能以及项目经验了,一般个人技能部分的话切记不要牵强,措辞一定要准确,了解或者用过的东西就不要写进去了,因为只是会用讲不出原理的东西多多少少会给面试官问你的机会,到时候真要问出来你自己都招架不住,要写就写自己真正意义上看过的实现原理的,了解具体实现过程的,不要为了充字数搞一大堆会的技能,结果最后问一个卡一个,接着就是项目部分了,项目的话最好能够突出你自己做的那部分内容,尤其是有点技术含量的,没技术含量的项目个人建议就不要写上去了,可能我比较提倡的是精简版的简历吧,除非你经历特别丰富,实在一夜写不下了可以考虑写成两页,一般的话写成一页足够了,把你最能展示的东西展示出来就可以啦,又不是什么政审,搞的像调查户口一样的话整个简历像个流水账一样;

         (2):对于基础+技术上;我记得我的校招应该是7月20多号开始慢慢总结知识点的,刚开始的总结其实是很有目的性的,就是把网上大家讲的最多的面试可能遇到的知识点全部都一条一条的总结出来,同时附带着答案,然后打印,接着就是各种背知识点了,至于这些知识点的话,我个人博客里面是都有的,如果有谁需要word打印版的话,可以私信或者留言找我要,除了这些知识点之外呢,以Android开发为例的话,你还需要了解一点framework层面的东西,比如Binder的原理呀,事件分发机制,View以及动画绘制之类的原理性质的东西,至少能够在面试的时候装装逼也是可以的偷笑,如果你能了解一点开源框架方面的知识,那就更好啦,比如Volley,Mina,AndroidPN以及ok-http之类的框架,当然我说的了解不是说你会用,而是要深入代码层面能够讲清楚这些框架的实现原理,以及框架的不足,到时候你可以针对这些不足做做总结,和面试官讲讲你觉得该怎么改造这些不足,此外呢,你还需要把框架连带着的知识也能够讲出来,这样的话就能做到面试的过程中你占主导地位了,比如讲Mina实现原理的时候,他底层实现是java NIO,那么你就可以把java NIO的知识也顺带着讲讲了;

         (3):再者就是算法了,这点我没什么可说的,因为我也是个渣渣,正是因为算法很渣,导致了我基本上笔试都挂了,我也是靠着观音师兄和佳晖哥的大腿才过了两场笔试(注意只有两场大哭),唯一能给的建议就是《剑指offer》上的题和牛客网关于剑指offer的在线OJ部分一定要做,有余力的话可以看看牛客网上左程云老师的算法课视频,因为我渣,所以没怎么看啦;

         (4):这些都准备完了之后,最重要的就剩下你的项目部分了,这个是面试中最关键的地方,你至少要从项目中抠出几点你觉得可以和面试官聊的内容出来,个人建议的话,你把项目中的难点以及亮点一个一个罗列出来,对每一个列出来的项都要细细琢磨下,想想这里面会有什么坑,面试官可能会考到什么相关联的知识点,我自己该怎么丰富下这部分,可能你项目实际中是没有用到某些技术的,但是你可以适当的撒点谎,加点有创意的东西进去;

         (5):最后就是心态啦,还有运气,记住一点,细水长流,切不可三天打鱼两天晒网的复习,好像在说我自己了,因为我后期久一点找工作的心情都没了,大家不要步我后尘;

接下来把我面试过程中的一些面筋奉献给大家,希望能够对你们有帮助;

我一共面过华为(拿到offer),搜狐(拿到offer),百度(一面跪),深信服(说去实习给offer拒了),携程(二面跪),创新工场涂鸦移动(拿到offer),银行类的话中信信用卡中心(hr面挂了),工行的话面试过了还差个笔试,还有一些比较小的公司就不说了,至于各自的薪资的话,私信我问就可以啦,因为我个人来说的话,算法很渣,基本上笔试都没过了,唯一就过了搜狐和携程两家笔试,百度是霸面给的机会,华为是靠观音师兄的助攻过的笔试(谢谢观音兄微笑),剩下两家都是内推没笔试直接面试的,剩下你叫的上名字的互联网公司,我笔试都挂了,好心碎委屈 委屈

         百度内推一面面筋

(1):你的App里面视频上传下载方面是怎么做的呢?有用到什么优化么?
(2):因为我说我们的视频上传下载是使用Base64编码之后,封装成json使用http协议进行传输的,那么紧接着面试官就问那么你是怎么做到如果在流量状态下,上传一个视频需要多少流量呢?因为你使用了Base64编码,那么编码之后势必会出现编码之后的文件大小远远大于你原先文件大小,有做过在流量状态下这方面的测试吗?
(3):怎样判断当前网络环境是流量状态还是Wifi状态的呢?具体使用的是哪个API函数呢?
(4):你们的App有多大,可以用什么措施来减少App的大小呢?
(5):做过适配方面的工作么?可以具体讲解下你们项目中所做的一些适配工作么?
(6):简单介绍下GC操作,你在平时的使用中有用到过GC操作方法么?你又是怎样避免频繁的GC操作的?
(7):你爬虫那个项目中是怎么解决反爬虫问题的?如果你是金融界网站的负责人员,你又会怎么监控哪些访问是属于爬虫程序访问呢?(因为我们那个项目是爬取的金融界、同花顺网站的金融股票数据的,相当于这个问题就是在问你怎么应对某些爬虫程序的反爬虫策略的);
(8):在浏览器中输入一个url之后到他获取到内容具体经历了哪些过程呢?
(9):你App项目中数据上传服务器的实时性操作是怎么保证的呢?(答:是使用MINA实现长连接的方式来保存的)
(10):在使用长连接的过程中可能出现弱网络环境的情况造成连接掉线的问题,那么你们是怎么解决这个问题的呢?
(11):你是使用什么工具检测内存泄漏问题的呢?可以介绍下么?
(12):对,特么还问代码量多少,着实让我懵逼,确实没算过的;
         深信服面筋
         深信服一面
(1):单例模式中需要注意哪些点?
(2):==运算符比较的是什么?String中的==运算符可以直接比较两个值是否相等吗?
(3):静态内部类和非静态内部类的区别是什么?怎么创建静态内部类和非静态内部类?
(4):了解JNI吗?java怎么通过JNI来调用C/C++层面的东西呢?(果断说不会,确实没看过)
(5):使用过ADB命令吗?如果有一个SharedPreference,怎么使用ADB命令查看SharedPreference文件?使用ADB查看过日志文件么?
(6):AysncTask每来一个任务都会创建一个线程来执行吗?(否,线程池的方式实现的)
(7):使用ArrayList的迭代器会出现什么问题?单线程和多线程环境下;
(8):横竖屏切换对Activity生命周期的影响?
(9):不同的进程之间是可以访问SharedPreference文件的吗?访问的时候应该注意什么问题呢?
(10):java虚拟机中常见的引用类型有哪些呢?简单介绍一下;
(11):了解NDK吗?他和JDK有什么区别呢?
(12):如果有一种场景,我想实现带有进度条的后台任务,那么我可以使用什么方法呢?越多越好(我回答的是子线程更新UI的各种方法);
(13):使用Handler的post方法的时候,会传入一个Runnable对象,那么我们可以在这个Runnable对象的run方法中执行一些更新UI方面的操作吗?也就是问你这个run方法是不是运行在主线程中的?
(14):在用户使用APP的过程中出现了错误信息,那么服务器怎么收集这些错误信息的呢?(我回答的是自定义MyApplication实现unCaughtExceptionHandler接口里面的unCaughtException方法,在这个方法里面进行错误日志回传给服务器的操作,同时在用户界面弹出提示性窗体);
(15):怎样使一个Activity处于单独的进程中,如果Activity处于单独的进程中的话,启动两次该Activity会创建几个Application对象?
(16):读过哪些方面的源码呢?可以简单介绍下么?(根本就没有让我讲源码的实现,有点坑,估计面试官想吃饭了);
         深信服二面
(1):介绍下AsyncTask的实现原理;
(2):可能造成内存泄漏的原因有哪些?
(3):App安装到系统的过程中经历了什么过程?
(4):Android是怎么管理Activity的?
(5):给你一个任务,你如何获取到微信发给好友的消息?
(6):检查内存泄漏的工具有哪些?你平时是怎么检查内存泄漏的?
(7):爬虫项目中有用到线程池么?具体你是用的java原生的线程池技术还是自己优化过后的线程池技术?
(8):使用过Linux么?了解Android底层Linux机制是怎么实现的么?
(9):使用过JNI么?NDK技术使用过哪些呢?
(10):查看过App打包过后的文件么?哪些文件夹下面的文件会被编译,哪些不会被编译?
(11):了解App打包之后的.dex文件吗?这个文件中的组织结构是什么形式的呢?
(12):经常看什么方面的技术书籍呢?列举一些;
(13):经常逛的技术性网站有哪些?
         百度校招一面面筋
(1). 如果有两个app同时注册了相同的Broadcast,那么哪个app先收到广播的,我说可以设置每个app接收这个广播的优先级啊,他说两个app接收广播的优先级一样,问我谁先收到该考虑些什么因素;
(2). 静态注册广播之后,当有对应广播发生的情况下,一定能收到广播通知吗?什么情况下收不到;
(3). 我们自定义的广播什么情况下会收不到?
(4). ContentProvider实现数据存储于数据库方式存储相比,缺点在什么地方,当时我只知道优点;
(5). ContentProvider是怎么区别同进程通信还是跨进程通信的,我说他底层实现是Binder,那么就该在Binder类里面的asInterface方法来进行判断了,可能不太对;
(6). Volley机制讲完之后问我Volley的缺点是什么,怎么改进,我只知道缺点是什么,在什么地方,但是不会改进,然后问我为什么Volley开发团队已经知道了这个缺点还不进行相应的改进;
(7). AMS本身也用到了Binder机制实现的,而且他是属于系统级服务的,那么他本身用到的Binder是怎么来的,我就讲了从启动init进程到产生ServiceManager进程,接着产生Zygote进程,最后孵化出SystemServer进程的整个过程,中途还和他争辩了ServiceManager进程和Zygote进程谁先生成的,接着讲了ServiceManager是怎么注册到Binder驱动中,以及系统级服务是怎么注册到ServiceManager的过程;
(8). 问了bindService的问题,问我通过bindService启动服务是怎么判断同进程还是跨进程通信的,如果onBind方法返回null会回调ServiceConnection的onServiceConnected方法不?如果是跨进程通信,那么当另一进程中的Service死掉之后,当前进程该怎么知道他是否死掉了,我说了应该会回调onServiceDisConnected方法,可能他觉得不对劲;
(9). 如果把一个Service放到单独的进程里面,那么他可能会被杀死吗?我说肯定呀,放单独的进程相当于一个app只有一个Service的情况了,虽然被系统杀死的概率比较低,但是还是可能会被杀死啊;
(10). 如果我的Service被系统杀死了,那么在杀死前我能不能保存我的状态信息,我说可以,设置Service的onStartCommand方法的返回值就可以了,返回值的标志不同可能就会有不同的行为;
(11). Service在被销毁的时候onDestroy方法一定会被调用吗?什么情况下不会被调用;
(12). 问我Volley与OkHttp相比,为什么选择Volley,对OkHttp了解有多少;
(13). java NIO的实现原理,我给他将了阻塞非阻塞,同步异步,Buffer与Channel以及Selector的运行机制,然后又问NIO主要解决的是什么问题,一时想不起来,就感觉解决了阻塞问题啊,还有什么呢?然后他提示说阻塞问题不是关键,因为阻塞本身是可以通过线程的方式解决的,其实本质上是解决了开启多个线程耗费资源的问题,这点确实知道,但是当时没说出来,然后又问我IO的底层是怎么运转的,我说对底层不太了解了,他说是IO中断的方式;
(14). 问我视频断点上传的实现原理,我讲了点切片上传,分成两级(块+片)的方式,然后这时候就开始狂轰了,说多线程切片上传需要开线程的个数怎么控制,我说线程池啊,他就说线程多了对系统不好,我说那总不能单线程传吧,然后问我有没有别的方式,我说不太清楚了;
(15). 问我Android系统目前最大的瓶颈在什么地方,我说内存啊,他说现在内存已经很大了,CPU核数也很高了,那么除了这两点之外,还有什么瓶颈,说了不太懂之后,他说是IO,说很多操作都有涉及到IO,这是Android目前最大的瓶颈;
         剩下的像华为啊,搜狐啊还有创新工场的,因为过去一个多月了,感觉想不起来了,依稀记得我的整个面试过程都是在讲项目,讲项目的,华为的话我面了三面技术面+一轮总裁面,三面技术面加起来在两个小时左右,总裁面面了40多分钟;搜狐的话面了两轮技术面,第一轮面了10几分钟吧,感觉时间比较短,第二轮面了40分钟左右,问了点算法和JVM的东西;然后携程的话一面也就是25分钟左右,问了点java基础,就是一些容器类的注意事项什么的,感觉没什么可写的,二面问的主要就是项目了,有40分钟;创新工场的话一面问的主要是基本数据结构以及基本算法,二面问的主要是项目了;其实你从我的经历中就可以看出来,问的最多的还是项目了,当然这只是我的一家之言了;

         以上就是我的校招经历了,好多东西想写感觉都忘记了,只记得这些了,我没有大神那样的BAT offer,也没有高到让人发指的薪资,只是简简单单的参加磨炼了下自己,毕竟我渣嘛,还有,最近实验室的项目偏向于java后台开发了,我也开始重新学习spring了,有相关学习经验的朋友可以私信我了,我们共同进步,在此谢过啦!

赠人玫瑰,手留余香!!!


全部评论
赞,好详细,感谢分享~~
点赞 回复
分享
发布于 2016-10-28 11:02
这必须给赞一个啊!!
点赞 回复
分享
发布于 2016-10-28 18:42
饿了么
校招火热招聘中
官网直投
赞一个~~~
点赞 回复
分享
发布于 2016-10-28 19:06
答主啥专业啊,实验室的项目咋要用安卓和spring。。
点赞 回复
分享
发布于 2016-10-29 23:23
剑指offer好像是用c写的,那么学java 的可以用吗?
点赞 回复
分享
发布于 2016-10-30 12:52
你好,求android方向工作处处碰壁,求资料,yishui2017han@163.com
点赞 回复
分享
发布于 2016-11-01 09:04
你好,可以把你总结的知识点给我发一份吗?我的邮箱是1554757655@qq.com,谢谢啦!
点赞 回复
分享
发布于 2017-02-19 09:48
多谢分享,928224169@qq.com
点赞 回复
分享
发布于 2017-02-19 11:02
多谢分享,求楼主资料。1765814402@qq.com
点赞 回复
分享
发布于 2017-03-18 19:16
楼主辛苦了!
点赞 回复
分享
发布于 2017-03-19 23:02
多谢楼主分享,可以把您总结的知识点给我发一份吗?邮箱:435773573@qq.com
点赞 回复
分享
发布于 2017-03-21 10:55
多谢分享,313637842@qq.com
点赞 回复
分享
发布于 2017-04-08 03:22
多谢楼主分享,请问能否分享一下你总结的知识点?邮箱:784684998@qq.com,谢谢!
点赞 回复
分享
发布于 2017-04-08 10:41
有数据库网络之类的计算机基础的资料吗?QQ2250875027,谢谢
点赞 回复
分享
发布于 2017-04-09 00:32
求资料2677578110@qq.com谢谢
点赞 回复
分享
发布于 2017-07-05 13:11
楼主 想要你总结的知识点,934762349@qq.com谢谢分享
点赞 回复
分享
发布于 2017-07-13 16:08
mds403@qq.com 谢谢楼主 求资料。。。。
点赞 回复
分享
发布于 2017-07-13 21:18
同求楼主的资料,谢谢你赠予我们的玫瑰,814108521@qq.com
点赞 回复
分享
发布于 2017-07-25 17:32
感谢楼主细心分享,求楼主java笔记及电子版面试资料,1754495139@qq.com
点赞 回复
分享
发布于 2017-08-23 21:26
感谢楼主的分享,求分享,602290602@qq.com
点赞 回复
分享
发布于 2017-08-23 21:33

相关推荐

26 178 评论
分享
牛客网
牛客企业服务