- 多态的原理
- jvm垃圾回收算法
- 线程与进程的区别
- 进程间通信
- ArrayList与LinkedList的区别
- Java线程间怎么实现同步,notify()与notifyAll()的区别
- 什么是函数重载,原理是什么?
- http 的工作原理
- tcp 三次握手
- 线程的调度状态图
- 手写冒泡
- 手写单例包括多线程下
二面(群面:挂)
讲项目
网龙 (android 开发)
面试体验很差,面试官感觉什么都没准备看我的简历然后就看我写的专业技能就开问了,全程没表情,,,。
- android 切换屏生命周期的改变
- 知道有几种排序?说说堆排序原理?这题真的会被气死,我都把堆排序怎么实现,为什么这样可以实现排序,都推了一遍,他说了句你说的只是实现,不是原理。。。表示很无奈,难道算法是靠背的?
- 说说你对索引的理解
- 设计模式分哪3大块,说说行为形的其中一个
- 讲项目
面试体验实在太差,还有几题吧,也想不起来了,面完我就觉得没戏了
美团(android开发)
不得不说美团的面试官还有面试流程都超赞的。
一面:
自我介绍
- 线程与进程的区别
- 进程间的通信方式
- 什么是同步
- 进程间可以通过什么方法实现同步
- 说说死锁是怎么产生的
- 那么怎么避免和解决死锁
- tcp与udp的区别
- udp怎么实现可靠传输
- 接着对我上面回答继续问,什么是流量控制,什么是拥塞控制
- 对http有什么了解(我讲了http工作原理)
- 接上题TCP的三次握手是什么,为什么不用两次
- 对https有什么了解
- 数据索引的原理是什么
- 有没什么方法可以优化数据的查询
- 数据库事务四大特征
- 数据库事务的隔离级别分别是什么,什么作用
- 进程的调度方式有哪几种
接着手写两道算法题:
秒杀
一面主要问基础,那时才发现原来我基础还可以哈,基本都答上来了。还有一面面试官很帅哈哈。
二面:
二面面试官特别好,一直微笑,给人特别和蔼的感觉,真是很幸运能遇到这么好的面试官。
先自我介绍
- 讲了下自己的经历
- 平常怎么学习的,怎么自己自学的android
- get跟post的区别
- https的原理
- 什么是对称加密,什么是非对称加密,知道的加密算法有哪些?
- android view的绘制原理
- android 的四大组件,分别是做什么
- android广播有哪几种
- LinearLayout与RelativeLayout的区别,什么情况下使用LinearLayout什么情况下使用RelativeLayout
- 怎么实现一个如果布局的层次深度超过50,提示开发者注意布局
- 怎么实现监听手机网络状态的改变
- 说说c++与Java有什么不同
- 接口与抽象有什么不同
- Java怎么实现多继承
- 上题讲了内部类,就接着问静态内部类与非静态内部类的区别
- java类的加载机制
- jvm垃圾回收机制
- 继续讲项目,问了项目中的几点实现
还有的忘记了,二面问了android比较多,自己报的岗位也是android。
三面:
三面的面试官真的很有耐心,全程听完我讲的框架,为自己感到幸运。
- 谈谈自己未来的发展方向
- 平时怎么学习的
- 对工作地点有什么要求
- 老家在哪
开始切入正题
- 做过的项目遇到过什么困难
- 开始讲自己写的框架(这个讲了很久)
- 内存泄漏与内存溢出的区别
- android什么时候回出现内存泄漏
- 有没遇到过OOM,怎么避免OOM
- 常用的集合
- 线程安全的集合有哪些
- ConcurrentHashMap原理是什么
- 让我多看看源码,学习一下别人写的框架
HR面:
0.期望的工作地点
- 老家在哪
- 期望的薪资
- 谈谈自己的优缺点
- 未来打算怎么发展
- 如果老板给你一个你一个人无法完成的任务,你会怎么办
- 了解美团吗?
- 手里有没offer,有没实习过
等
最终美团Offer get
面试怎么准备
基础准备:
- 计算机网络 ,TCP/IP(推荐 TCP/IP详解)
- 操作系统 (教材就可以)
- 数据结构与算法(数据结构看教材就可以,算法 ,看剑指Offer)
- 数据库基本语法与原理 ( 推荐:高性能Mysql)
- java ( java核心卷I)
- Java 多线程 (Java多线程编程核心技术)
- 设计模式 (教材)
- linux (教材)
- Http
这些可以复习一遍书上的知识,再结合看面经(后面有整理,需要的自行领取!),很快就很熟悉了
项目准备:
对于要不要有项目这一点不是绝对的,个人觉得最好是有项目,不然面试官基础问完基本上也没什么可问的了。