非科班生的Android秋招求职经历

拼多多 学霸提前批Android研发工程师 offer

笔试

基于给定接口实现ImageLoader框架

一面

  1. 自我介绍
  2. 静态变量和实例变量的区别
  3. 重写equals()方法的注意事项;两个list是怎么判断是否相等的?
  4. HashTable和HashMap的区别;是否允许键为null
  5. 数据同步的方法;synchronized可以在对象上加锁吗?在方法上加锁是加在哪个对象上?
  6. 进程间读写文件的同步方式
  7. 了解哪些加密算法;AES和RSA的区别
  8. HTTP响应码
  9. 进程优先级;Android进程优先级
  10. 如何使一个Service处于另一个进程中;进程的服务保活
  11. Touch事件分发机制
  12. 如何实现客户端长连接的?重试策略是怎样的?如何监控HTTP请求的?
  13. 提问问题

二面

  1. 三道题选两道http://collabedit.com/cx9uv
  2. 大顶堆和栈的概念
  3. 最短路径算法概念
  4. 如何缓存HTTP

HR面

也不能算是HR面吧,简单聊了聊。

  1. 项目介绍;担任的角色
  2. 家庭情况;期望薪资
  3. 在哪里实习?实习的时候拿到过哪些offer
  4. 介绍了拼多多的待遇以及工作制度

三面

  1. 自我介绍;项目问了些
  2. 如果安卓是单线程的,那么如何处理界面刷新和网络操作两个模块
  3. 算法题。

CVTE TE计划 Android开发工程师 HR面挂

一面 电面

  1. 自我介绍
  2. Activity的launchMode,每种的概念;singleInstance用在什么情形
  3. 转动屏幕时会发生什么?如果有一个进度条,转动屏幕时会发生什么?如何是自定义的进度条,怎么办?
  4. Thread和HandleThread有什么区别;MessageQueue的结构
  5. 进程和线程的区别;Android的多进程通信方式;aidl是怎么使用的
  6. 多线程的问题。每个线程一个单例,怎么做?ThreadLocal怎么用的?
  7. 浏览器输入www.google.com之后用到的协议;NAT是怎样的?
  8. 内存泄漏的情况;Handler泄漏的具体场景,如何避免;GC的过程;强软弱虚引用
  9. 如何复用View;ViewHolder是如何使用的;ListView是如何复用View的
  10. 事件分发机制;dispatchTouchEvent和onTouchEvent的区别;
  11. 了解过哪些开源框架;OkHttp和HttpURLConnection的区别
  12. 职业规划

二面 视频面

  1. 自我介绍
  2. 长连接如何实现的;TCP粘包怎么处理的;协议改进的方法;MINA、Netyy框架
  3. OkHttp的源码,拦截器一块的源码;有没有自己实现拦截器;OkHttp这样设计的好处;Volley缓存一块的设计;UIL如何管理请求的;
  4. Android的性能优化;
  5. 为什么有滑动冲突;怎么处理;涉及的主要方法有哪些;dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent分别用在什么地方
  6. Binder的机制;aidl;服务端如何确定调用的是哪个方法;Binder线程池,线程安全指什么;
  7. RxAndroid用在哪里;用到了哪些操作符;map和flatMap的区别
  8. 项目中用到了哪些设计模式;模板方法是怎么使用的
  9. 手写代码,实现一个数据结构:栈,考虑扩容,加入线程同步。
  10. 写过博客吗?主要内容是哪块;参与过开源项目吗?
  11. 了解过Android的最新动态吗?有没有用Kotlin做过项目;如何学习一门新语言
  12. 了解过CVTE吗?以后的职业规划

终面HR QQ视频面

面了两次CVTE的hr面,总结了会问的问题。如下:

  1. 前面的面试如何,打个分
  2. 职业规划;工作时间
  3. 家庭情况;性格都是怎样的,对你的性格有什么影响
  4. 如果CVTE给你offer了,如果不会来,会是什么原因
  5. 目前拿到了哪些公司的offer?CVTE也给你offer了,你会选哪;还会在投其他公司吗
  6. 宿舍关系怎么样?人生中压力最大的事情

HR面又挂了,实习的时候也是HR挂了,让我不得不怀疑我是不是心理有问题了,哈哈。

远景能源 offer

由于实习的时候拿到了实习offer,所以走的绿卡流程。在上海实习的,就直接去公司面试的。

一面技术

  1. 自我介绍
  2. 说了下?做的是什么?
  3. 使用的UI自动化测试框架的原理是怎么样的?讨论了下iOS是如何进行UI自动化测试的
  4. 对热修复的理解;能否修复so包?
  5. GC;碰到的OOM情况;聊到了参加的阿里中间件比赛,说了下当时的思路;如何进行内存分析
  6. TCP编程时的协议是如何制定的;有什么改进的地方;PB的编码方式是如何的,如何可以节约空间的。
  7. 聊了聊RN以及对技术框架选取的一些看法

HR面

HR面比较简单

通过技术面后做了两个测评,类似心理、情商评价之类的。

高管面

高管面比较简单,就QQ视频了5分钟,简单聊了下实习的氛围和以后的打算。

offer

有赞

一面 Android开发工程师

  1. 自我介绍
  2. 如何学习Android
  3. 如何设计一套图片加载框架;三级缓存。为什么选择LruCache?
  4. 了解过launchMode吗?使用过的具体模式的场景?微博分享页面应该使用哪种launchMode?
  5. 知道内存泄漏吗?了解的内存泄漏?Handler在哪种情况下会引起内存泄漏?什么好的工具可以检测内存泄漏?
  6. IntentService原理
  7. 用过WebView吗?
  8. 如何实现一个图片浏览器的思路?
  9. 有什么想要问的?

有赞 Java开发工程师

一面

  1. 自我介绍
  2. 项目提问
  3. TCP连接;为什么不是两次;为什么不是三次
  4. HTTP请求报文结构;GET与POST请求;HTTP版本知道哪些,区别是什么
  5. 进程调度算法有哪些;死锁的必要条件;如何消除;如何避免;银行家算法;
  6. Java的集合;HashMap的结构;为什么改成红黑树;阻塞队列一般用在什么地方
  7. Java泛型;泛型擦除;任何情况下都会发生泛型擦除吗?
  8. 双亲委派机制;两个类被不同的类加载器加载,是同一个类吗?
  9. 如何实现一个线程;线程的状态机;什么情况会使线程阻塞;ThreadLocal;几种线程池;如何自己设计一个线程池

二面

  1. 自我介绍
  2. 自己做的app是怎么做的;
  3. Java的GC;ActiveMq看过源码吗?MySql学习过吗?
  4. 使用过哪些设计模式?
  5. 编程。主要考察编程能力和编程习惯。一个字符串,统计某个字母出现最多次;写好之后,改了需求,找出出现次数最多的十个字母
  6. 双亲委派模型;为什么要双亲委派模型
  7. 提问问题

头条 Android开发工程师 offer

终面(春招拿到了offer,绿卡)

  1. 实习项目介绍;如何实现的;为什么使用反射;XML解析的方式;DOM和SAX解析的区别;注解的分类;ButterKnife实现原理
  2. MVP模型是怎么样的;如何实现的;P层是怎么实现的
  3. 为什么选用OkHttp库;拦截器链是如何实现的;自己实现的拦截器是用于哪里的;是如何做DNS的;
  4. 处于onResume的activity a启动activity b按照时间顺序生命周期是如何调用的;onSaveInstanceState方法会在什么情况下调用
  5. View的事件分发机制;ACTION_CANCEL什么时候被调用,一般switch-case中如何处理;
  6. Android常见引起内存泄漏的情况;Handler引起的内存泄漏是怎样的一个过程;使用过哪些工具进行内存泄漏问题;LeakCanary的工作原理是怎样的;MAT如何进行内存泄漏分析;
  7. HTTP2和HTTP1.1的区别。HTTP/2 新特性浅析
  8. 手写算法题。一个二维数组,左到右有序,上到下有序,如何找一个值。剑指offer原题。
  9. 看过哪些源码;如何看源码;如何学习Android

一个月后拿到了意向书,互娱部门,做抖音。

阿里文娱 优酷 Adnroid开发工程师 挂

终面(春招拿到了实习offer,直通终面)

  1. 自我介绍,项目介绍
  2. 阅读类APP有没有后台?没有后台的话,每一个app都要去获取多余内容可以怎么改进?爬虫怎么做的?
  3. ImageLoader怎么实现的?三级缓存怎么做的?保存图片在内存中会发生OOM吗?
  4. MVP模式的理解
  5. 信息推送怎么实现的?协议怎么设计的?AES算法是怎样的?如何保证数据的正确性和不遗漏消息?
  6. 实习的项目是如何做的?怎么去匹配XML和TXT中的字段?
  7. UML了解吗?软件开发流程是怎样的?
  8. 设计模式了解吗?如果一个支付的模块,会调用不同银行的接口,不同银行的接口所需参数和返回参数均不同,使用哪种设计模式?
  9. Android机型适配怎么做?如何捕获Crash?
  10. 本科和研究生均不是计算机的,怎么学习的?
  11. HR问了工作地点的意向;投了哪些公司;目前拿到了哪些offer
  12. 提问了面试官关于Android APP测试的问题,了解了行业情形

1v2,技术经理和HR,HR是远程实时听录音的

半个多月后问hr,挂了。真是坑比啊,由于把我简历锁着,我一直报不了杭州这边的阿里,笔试面试都没有机会。日了狗了

网易 内推 Android开发工程师 挂

一面

  1. 自我介绍;除了Android还做了其他的哪些项目;
  2. Activity的lauchMode;用过哪些;说了一个他们遇到的问题,让帮分析分析
  3. 知道的网络库有哪些;Volley和OkHttp分别适合用在什么场景下
  4. ImageLoader的三级缓存是怎么实现的;磁盘缓存是怎么实现的;知道哪些图片加载框架
  5. 内存泄漏如何检测;LeakCanary的原理;Handler是如何造成内存泄漏的;内部类都会造成内存泄漏吗?
  6. 参加的阿里中间件比赛是怎样的;简单实现一个生产者-消费者
  7. Java的线程池有哪几种;需要定时任务使用哪种;CachedThreadPoolExecutor是怎样的
  8. 应用通信是如何确保安全的;Https是怎样的;Android如果采用Https通信的话,客户端这边需要有什么
  9. 提问问题

二面

  1. TCP的连接为什么是三次握手,不是两次也不是四次

答案

  1. 对Android框架层了解吗?AMS和WMS了解吗? (说了了解AMS,噩梦由此开始)
  2. Fragment用过吗?Activity如何传参给Fragment?为什么用setArgument传参,而不是使用带有参数的构造器?
  3. 知道系统杀进程吗?如果栈中从底到顶现在是A,B,C,然后系统把应用杀了,重新点击,显示的是哪个Activity?这时如果C里面有Fragment是怎样恢复的?(中途解释了为什么要用setArgument传参,说在走Activity的生命周期之前会先有一个恢复过程,反正听的云里雾里)栈下面的A,B存不存在
  4. Binder机制;为什么Binder是一次拷贝

相关文章:

  • http://blog.csdn.net/boyupeng/article/details/47011383
  • http://blog.csdn.net/xiaojsj111/article/details/31422175
  1. Activity和Service有什么区别;Service是谁管理的;bindService需要使用到Binder吗?系统服务和自定义服务启动有什么区别?
  2. 对协议的理解

秋招正式批的时候,又做了网易笔试,后来又通知去笔试,但由于已确定去51信用卡了,就没有再去杭州面试。

360 Java工程师 挂

一面 18min

  1. 自我介绍
  2. String和StringBuffer的区别;StringBuffer在传参时用final修饰,可变吗?
  3. HashMap与HashTable的区别;HashMap在插入自定义类时,要重写哪些方法,为什么
  4. volatile关键字
  5. Java虚拟机,了解多少说多少
  6. 锁的类别;用过吗
  7. 数据库了解吗?sql语句
  8. 用的什么IDE;Linux熟吗?项目有部署到Linux上吗
  9. 项目中使用到什么框架没
  10. 项目中用过哪些设计模式

二面

  1. 自我介绍
  2. 关于项目提问的
  3. 数据库了解吗
  4. 线程安全的集合类有哪些;迭代器模式是怎样的
  5. 设计模式了解吗?哪些是构建型的
  6. 优势在哪里;以后的职业规划
  7. 提问问题

三面 HR

  1. 自我介绍
  2. 期望薪资;期望工作地
  3. 目前投了哪些公司;会去哪家公司
  4. 有什么问题提问

三面完gg,估计在武汉要的钱太多了

商汤科技

面试前发现岗位是测试工程师,结果一面是个测试面的;而且那边网信号很差,听不到声音,全程打字,好尴尬。

一面 测试(因同名而导致信息错误)

  1. 写一个Http请求
  2. 写一个文件读写,从一个文件读,然后写入另一个文件
  3. android 的顶部banner用什么控件实现;核心代码
  4. 不想做测试,更想做开发?对商汤的了解
  5. 提问问题

后来参加笔试,过了笔试,由于不想去北京,所以拒了面试。

新美大 Android开发工程师 offer

一面

  1. 自我介绍
  2. 为什么选用OkHttp?为什么用MVP模式?
  3. ImageLoader的三级缓存怎么做的;OkHttp的磁盘缓存怎么做的?
  4. 如何删除文章的广告之类的?有遇到不符合的情况吗?
  5. HashMap是线程安全的吗?HashMap线程不安全会造成什么现象?如何使HashMap变为线程安全的?
  6. Java的内存模型;GC;遇到过OOM情况吗?有什么可以检测内存泄露的工具
  7. 文章列表用的什么什么控件?ListView如何优化?RecyclerView用过吗?和ListView的区别
  8. 应用中有几个Activity;ViewPager嵌套Fragment怎么用,遇到过什么坑没?
  9. 自定义View时自定义属性该怎么做?
  10. 印象最深刻的项目,或难点

二面

  1. 自我介绍
  2. 界面展示用的ListView还是RecyclerView?如何做文章的过滤的?如果改成别的网站需要怎么做?
  3. ImageLoader怎么实现的?内存缓存使用的是什么策略?
  4. 项目中TCP+HTTP+JSON是怎么回事?
  5. android ui自动化测试
  6. 实习的项目
  7. 对Kotlin的了解;准备让用Kotlin写一个界面的
  8. 给了一个布局,让说说看怎么编写
  9. 了解啥新技术
  10. 问问题

三面

  1. 自我介绍
  2. 为什么选用AES加密?
  3. 全程没聊技术,介绍他所在部门做的事情,问我感不感兴趣,我也提问了一些问题,聊得比较投机
  4. 手上的offer

HR面

问了一些基本信息,手上offer情况,对薪资的要求。由于三面全程没问技术,心里比较虚。

小红书 Android开发工程师

  1. 自我介绍;项目提问
  2. 为什么使用AES加密,不使用HTTPS?AES本地加密,如何防止apk被反编译?TCP协议报文是如何定义的?如何解决分包的问题的?对HTTP2.0有什么了解?
  3. Launcher->A->B->C->D->A(singleTop)->B(singleTop)->C(singelTop)->D(singleTop)->A(singeTask)->B(singleTask)->C(singleTask)->D(singleTask)->A(singeInstance)->B(singleInstance)->C(singleInstance)->D(singleInstance)后,返回栈里有几个Activity,分别是怎样的?有几个任务栈?
  4. 编程题。n元,一瓶汽水1元,一个瓶盖0.2元,问可以喝多少瓶汽水。
  5. 提问

说一面通过,10月中旬再进行面试

招银网络 软件开发工程师

  1. 自我介绍
  2. 项目提问
  3. AES加密算法
  4. MVP模式
  5. GET和POST区别
  6. 静态变量和成员变量的区别
  7. 获得Class对象的方法
  8. 笔试做的怎么样
  9. 提问问题

一面后没有继续去现场继续面试

斗鱼 Android开发工程师 挂

现场首先一个小时做一套卷子,然后笔试过了再面试。

一面

  1. 自我介绍
  2. 对着卷子中问问题;一个栈不可能的出栈顺序;算法题的思路;快排是什么
  3. Java基础

二面

二面技术官是个话痨,全程不聊技术,就聊Android以后的走势之类的。

HR面

HR也就是聊了聊意向地,优缺点,希望工作地、薪资等等。

之前说斗鱼比较难进,但是这个面试真的是太水了,据说今年涨薪了,希望能拿到这样一个offer,在武汉还是挺有竞争力的。最后估计因为直播看的不多,以及人招的确实少,挂了。和我一起的一个阿里大佬也挂了

ThoughtWorks 软件开发工程师 挂

内推的,首先做了一个网上作业,两三天做完,地址在我的Github上面。

一面

  1. 自我介绍
  2. 就做的网上作业,增加新需求,有一些日子有打折活动。对于我这种扩展性很强的代码而言,简直so easy
  3. 项目提问
  4. MVP模式;ImageLoader哪几级缓存,怎么实现的;
  5. 之前参加的结对编程比赛,怎么看

HR面

HR主要就项目遇到的困难,个人性格问题进行提问,英文简单问了两句。主要是考察价值观和thoughtworks是否相同,要表现地善于合作、分享这些吧。

海康威视 Android开发工程师 offer

一面

  1. 项目提问;采用的什么方式解析XML;XML解析的方式有哪些;为什么选用SAX解析方式
  2. 反射涉及涉及哪些方法;如何判断文档结构是否变化的;
  3. TCP和UDP;HTTP报文协议
  4. AES加密算法;什么是对称加密算法、非对称加密算法;知道哪些非对称加密算法

HR面

聊了期望薪资,工作地点和手上的offer情况。

贝贝网 Android开发工程师 offer

一面

  1. 自我介绍
  2. 三级缓存怎么做的;内存缓存的大小怎么定的;
  3. 实习为什么选择**公司;实习项目是怎么做的
  4. 阿里中间件比赛是怎样的
  5. 问问题

一面比较轻松,二面比较深,毕竟技术合伙人面试的,感觉不太好

二面

  1. 自我介绍
  2. 用了哪些开源库;对Android哪些热点技术研究了;热修复的原理是什么,看过源码吗
  3. 模块化了解吗?如果自己实现怎么实现
  4. 图片三级缓存怎么做的;如何避免OOM;
  5. 有没有对性能优化进行过研究;overdraw如何解决

HR面

  1. 家在哪里;对贝贝的了解;手上的offer;七天出消息
  2. 兴趣爱好

offer给分配了Java开发一职。

腾讯 Android开发工程师 挂

一面

  1. 自我介绍
  2. 学院多少人;编程水平排名如何;最近一次不是为了找工作而编程是什么时候;给offer后可以实习吗?抽烟吗?喝酒吗?兴趣爱好?
  3. 谈谈Java的GC;内存泄露的引起原因;优化内存方面写代码有什么注意的,有什么实际应用
  4. 一道多线程设计题;从文件A和B中每次读1K数据,然后将这两块组合起来发到网络上,怎么设计,提示从多线程考虑;给出了解决方案后,问了下BlockingQueue的底部实现原理;然后问网络上传数据有哪些方式;如何制定自己的TCP协议
  5. 一道算法题。一个字符串,中间有类型"\哈哈"表示一个表情,然后让你把字符串区分出类型,比如文本->某某表情->文本…这样一个形式
  6. Android掌握的怎么样;然后问了一道关于事件拦截的题;一个ViewGroup,它的每个子View都是可以随意拖动的,该怎么实现
  7. 提问问题

二面

二面就是聊天,全程没技术,然后把我挂了。腾讯从此粉转路。不想招人就别叫我去面试啊,逗。成为了面试官KPI的牺牲品

51信用卡 Android开发工程师 offer

一面

  1. 自我介绍
  2. 注解的类型;编译时注解和运行时注解的区别;如何实现编译时注解;有没有自己实现过
  3. 浏览器输入一个网址经历过的流程;DNS具体过程;DNS拦截知道吗?如何解决DNS拦截?
  4. HTTPS过程;如何防止HTTP请求被监听;
  5. HTTP Get请求的字节限制数是多少?HTTP缓存是怎么做的;如何浏览器请求了一个没被修改过的响应,返回码是多少
  6. OkHttp的流程;Socket复用是如何实现的;OkHttp是如何管理连接池的;Okio是如何实现的;和传统IO有什么区别;NIO和BIO的区别;Retrofit了解吗?
  7. 如何更改移动一个View;属性动画的原理;Interpolator的设计模式是什么;如何实现一个圆形的ImageView
  8. Activty、Window、View的理解;Activity的onCreate()可以获取View的宽高吗?如何在onCreate()里获取View的宽高?子线程可以更新UI吗?一定不可以吗?
  9. Activity的启动流程;如何启动一个没在Mainfest中注册的Activity
  10. 热修复技术了解过吗?Tinker为何是全量dex?Android的类加载机制是怎样的?如何加载一个dex?
  11. 提问问题

二面

  1. 实习期间做的项目;用到什么框架没;
  2. 做的APP是怎么做的;如何实现文章抓取的;删除了哪些标签;
  3. 三级缓存是如何实现的?LruCache的实现原理?加载图片的一个过程;HTTP请求时,如果响应没有修改,返回哪个响应码;还遇到过哪些响应码;如果删除策略修改了,怎么办?
  4. 阿里中间件比赛,谈了谈体会;对开辟线程的看法;线程池数量的设置
  5. 应用中遇到开发问题怎么解决的;对安卓的看法
  6. 为什么选用MVP模式开发?好处是什么?应用中有多少个Fragment
  7. 双重检查锁的好处;如果不用双重检查锁,那么会出现什么问题;synchronized加在方法上有什么影响
  8. 项目采用的架构

三面 现场

终面是赶到现场面的,主要算是聊了聊。包括项目团队如何写作的,项目是如何实现的,对app性能优化方面的认识,对app加固混淆方面的了解;优缺点

HR面

主要聊了下之前的面试感觉、期望薪资、三方什么时候发放、能否实习,其他一些忘记了。

挖财 Android开发工程师

一面

  1. 自我介绍
  2. 应用的心跳机制和断线重连机制怎么实现的?用的Socket是java层的还是jni层的?心跳包是如何设计的?如何监测网络变化的?在新版本中,不能使用广播,该如何实现?
  3. jvm的堆、栈和方法区有什么区别;sleep和wait有什么区别
  4. 双重检查锁的单例模型;为什么要用volatile修饰,如果不的话,会有什么问题
  5. 25匹马,5个赛道,决出前3名
  6. Activity启动流程;View绘制发生在哪个阶段
  7. 登录过程,如何保证密码安全传输
  8. 解决hash冲突的方法有哪些;链表插入查找时间复杂度多少;如何提升到log(n)

二面 现场

二面的面试官是个年轻女性,我一开始还以为是HR呢。

  1. 自我介绍
  2. 项目是怎么做的;有没有用单测;gradle用过吗?
  3. Github上最喜欢的一个库
  4. 还有一些其他问题忘记了,面完说hr不在,会电话联系我,不知道是不是被套路了

后来打电话去问,说二面过了,等hr面,不过hr迟迟没来。

酷家乐 Android开发工程师

  1. 博客上春招面试经历,为什么面了那么多公司,最后拿了哪几家的offer
  2. 自我介绍
  3. MVP模式;RecyclerView中的Adapter放在哪一层;放在View层和放在Model层有什么区别
  4. android的动画;4.4之后activity的transion动画属于哪种;Path动画用过没
  5. Handler消息机制;view.post()与Handler.post()有什么区别;
  6. 事件传递机制;OnTouchListener和onTouchEvent()是怎样一个具体流程
  7. Android优化了解哪些;include和merge有什么区别;viewstub使用时需要注意什么地方;
  8. 内存泄露是什么
  9. Java的集合框架;HashSet的内部实现;为什么使用HashMap实现hashSet;SparseArray源码
  10. 提问问题;问了下公司规模和开发氛围

一面挂。不过说实话,面了这么多公司,一面挂的也就酷家乐了

总结

准确的讲,找工作是从春招开始的,因为当初的找实习也是为了秋招找工作增加经验。关于实习的面试经历,可以参考2017春招实习-Android开发面经-bat,td等公司,最终出于工作地点的考虑和卡中心的福利,选择了去卡中心实习,也顺利转正了。由于比较想去杭州发展,所以重点投了杭州的一些独角兽公司,比如51信用卡、有赞、挖财、贝贝等等,也算有幸拿到了两家的offer,所以最后也选择了51信用卡。
关于校招,想说的很多,经验也有不少,总体来说:基础(算法、语言、网络、操作系统…)+项目+面试表现。

基础

算法

至于基础的话,算法很重要,因为算法渣,很难过笔试,关于这方面,掌握基础算法(排序,查找,树和图的遍历等),把剑指offer刷一遍,再刷些leetcode应该差不多了。(秋招,没过的笔试有百度、搜狗、蘑菇街、滴滴、搜狐、新浪,有些公司不招人那就没办法了)推荐一本书:数据结构与算法经典问题解析:Java语言描述(原书第2版)

语言

java的搞java,c++的搞C++,现在源码问的很多,看几篇面经和博客就可以了。这里给大家推荐下我总结的关于java集合库和并发库的一些源码:http://blog.csdn.net/qq_19431333/article/category/6671933,http://blog.csdn.net/qq_19431333/article/category/6754669

网络

网络的话,主要就是TCP、UDP、HTTP1.1/2.0、HTTPS。TCP设计连接、断开连接、拥塞控制、流量控制等等;HTTPS设计证书下发,加密算法等等。最好有网络编程的经验,对TCP的分包粘包这种概念理解更深,以及TCP协议的设计和序列化,这里可以了解下protocolbuffer序列化方式。
对于Java开发者,Netty源码可以看看;对于Android开发者,OkHttp可以看看,可以加深对HTTP协议的理解。

操作系统

春招时,被阿里问到了进程管理,当时没看操作系统,然后就白瞎了。我认为主要掌握进程管理、内存管理,这是问的比较多的。其他部分的话,追求越高,自然懂的也就要越多

项目

项目就仁者见仁,智者见智了,不过建议是可以放到github上,包装包装。

其他

面试表现=80%*基础+20%*临场发挥,所以基础很重要,基础很重要,基础很重要。
关于比赛和论文,这些都是我没有的,这些也都是加分项。之前参加了阿里中间件比赛,进了复赛,面试中也被问到过几次,还没找工作的朋友们可以准备准备,还来得及。

最后祝大家都能找到一个满意的工作,满意是针对你自己的水平和期望而言的。水平是根据你的天赋和付出而言的,什么都不做而拿不到好的offer而说不满意,这是不对的。心态很重要,认识自己很重要。

关注我的技术公众号,不定期会有优质技术文章推送。

微信扫一扫下方二维码即可关注:

你可能感兴趣的:(非科班生的Android秋招求职经历)