近期参加的各大公司面试总结

转载自一片枫叶_刘超的博客

前段时间公司坚持不下去了,所以加入了找工作的大军。上一家公司是一家o2o创业公司,在里面呆了一年半多,现有的公司的产品就是从零开始一点点参与完善迭代的,在这个过程中从中也学到了很多也成长了很多,更认识了一帮可爱的同事。

奈何大环境不好,公司已经坚持不下去了,所以开始准备找工作。从开始的准备面试题,面试找工作,换房子,处理一些家里的事等,零零散散大概花了二十多天的样子,这里需要抱歉的是博客和github上的问题没有及时解决。

参加了不少公司的面试,有大公司有创业公司,有二线公司有小公司的,下面就是自己总结的面试题(这里不在标注那些面试题对应着那家公司,至于面试题的答案,这里暂时先不写了):

聊一聊protobuf是如何使用的?使用protobuf作为网络传输格式有哪些优势?

长连接是如何实现的?遇到过哪些问题?心跳机制的实现?耗电量,流量如何?稳定性如何?

简单谈一谈recyclerview、listview、scrollview三者之间的区别?

谈一谈你对线程的理解?线程之间如何实现线程同步,多线程间资源访问有何问题?谈谈你对synchronized关键字的理解?

Android中有哪几种动画?那些类型?他们之间有哪些区别?

项目中使用到了imageloader,谈一谈你对imageloader的理解,如何实现的图片资源的缓存?

简单介绍一下arrayList,linkedList,vector三者之间的区别?

如何配置activity使之成为启动activity?

如何实现序列化,序列化的原理与作用,Serializeble与Parcelable之间的区别?

简单介绍一下项目中使用的编程模式,说说mvc,mvp,mvvm三者之间的区别?

谈一谈java中反射机制的实现原理,以及你对他的理解?

项目中使用到了eventbus,那么简单说一下其实现原理?

谈一谈hashmap的内部实现,hashcode与equals方法?

谈一谈service服务,如何设置前台服务,service的生命周期,bindService与startService的区别,什么场景下使用?

项目中使用了volley框架,谈一谈你对volley框架的理解,其有哪些使用规范?

谈一谈java中map与set的区别?

什么是单链表?什么事循环链表?二者之间有何区别?如何判断某一链表结构为循环链表?

谈一谈Android中的dex分包方案?

简单介绍一下Android中apk文件的构建流程?

简单谈一下你了解的组件化开发?

那些加密算法?对称性加密与非对称性加密?二者之间有何区别,具体有哪些加密算法?

Android中webview控件版本适配问题?性能优化问题?内存溢出问题?

是否可以使用gradle脚本开发?是否使用过python?

简单介绍一下base64,其有何作用?

简单介绍一下Activity生命周期?各种情况下生命周期的调用情况?

简单介绍一下Service生命周期?startService与bindService的生命周期?

如何遍历二叉树,以及遍历二叉树的复杂度空间复杂度?

知道二叉树前序遍历,中序遍历求后序遍历?

如何实现service的保活?有哪几种方式?各有哪些利弊?

简单介绍一下长连接丢包的理解?

简单介绍一下TCP连接中四次挥手与三次握手?

Android中如何终止进程?

简单介绍一下leakcanary检测内存溢出的原理?

简单介绍一下过度绘制原理?

volley框架中oom是如何产生的?

在hdpi,xhdpi中加载同一张图片内存大小比较?

Bitmap对象的ARGS_8888/ARGB_4444等图片质量参数的区别?

简单介绍一下Java中的四中引用:强引用,软引用,弱引用,虚引用以及各自的区别?

简单介绍一下Binder机制原理以及实现实例,Android中是否有其他的进程间通讯方式?

Android中的热修复方案实例,原理与区别?

平时开发过程中涉及到的设计模式?简单介绍一下你熟悉的某种设计模式?

项目中使用了scheme协议,简单介绍一下其作用与简单使用方式?

你参与过那些开源项目以及负责哪方面的工作?

简单介绍一下java中的泛型,泛型擦除以及相关的概念?

java类加载器的加载流程?

单例模式的各种变种?懒汉模式,饿汉模式等等

HashMap的扩容机制?

list,vector线程安全性问题?

java中有哪几种classloader?

Android中进程的级别?以及各自的区别?

Android中的杀死进程和设置中的结束运行有何区别?

Android中的线程池?Android多线程之间如何交互?

Android中的多进程如何理解?如何配置Activity跨进程启动?

java中代码块,静态代码快,构造函数的加载顺序?

Android中Surfaceview相关概念?

Android中性能优化,内存泄露场景,以及相应的解决方案?

Android中Handler异步消息机制?

Android中的事件分发机制?

View的绘制流程,主要方法等?

简单介绍一下如何自定义View组件?

Bitmap如何优化?Bitmap的缓存策略?

Activity的启动模式,区别以及各自的使用场景?

Service与Activity之间如何通讯?

手写代码实现一个出入栈?

手写代码实现两个栈实现一个队列?

手写代码实现单例模式?

使用递归递归和循环实现阶乘?

手写代码实现两个数组合并并排血的操作?

手写代码实现一个快速排序以及其时间复杂度和空间复杂度?

还有一些问题记得不是特别清楚了,这里面有一些大公司:百度,360,网易,乐视,小米,知乎等等,当然也有一些小公司创业公司等。

由于这次想去个大一些的公司,所以主要针对大公司做了一些复习,这里不得不说,想去大公司面试的童鞋一定要看一下数据结构和算法。比如常见的数据结构:数组,链表,栈,队列,二叉树等等;常见的排序算法也要知道几种,以及他们各自的时间负责度和空间复杂度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值