阿里菜鸟网络
- 阿里主要问项目,涉及Zookeeper,Spring
- 在线编程,写数组排序,Java多线程实现生产者消费者
- wait/notify机制,wait与sleep的区别
- 阿里比较看重实习经历和项目经验,喜欢问Zookeeper,Spring,Netty等问题,建议想去阿里的同学要对某一个分布式框架有深入理解,最好看看源码
美团技术工程及基础数据平台
- 介绍一下http请求过程(浏览器访问百度到返回界面整个流程)
- 在TCP请求中,如果服务端监听端口没有打开会怎么样
- 了解sack吗
- socket中哪些API是用于收发协调的(流量控制,拥塞控制)
- TCP如何检测报文丢失
- 介绍滑动窗口
搜狐焦点
- 求一个数的最大素因数
- 约瑟夫环问题
- 求两个数的最大公约数
- 什么时候触发full gc,什么时候触发minor gc
- Java8有哪些新特性
- 写一个Java8的lamda表达式
滴滴出行
- 有一段绳子长度为n米,如果n为偶数则对半剪断,如果n为基数则剪下1米,问剪多少次可以剪成每段1米的
- 一个不降序数组,找出其中绝对值最小的
- 数据库索引匹配规则
- Oracle事务实现原理
百度
一面
- 哈夫曼编码
- b树和b+树,区别,b+树的应用(数据库索引),索引为什么不用b树实现(感觉这是必考的一个点)
- 用一句话概括你对网络传输层的理解
- 介绍一下http及hppts协议,https是如何实现安全传输的
- 手写归并排序和快速排序
二面
- 介绍一下Java中error和Exception的区别,他们的父类是什么
- 写一个会发生OutofMemoryError和StackOverflowError的例子代码
- 如果无限递归调用肯定会发生StackOverflowError,有没有其他情况也会发生
- Java中如何实现调用一个类的私有方法
- 了解哪些设计模式,简单介绍一下工厂模式,他有什么作用,分为哪几种
- 用两个栈实现一个队列
- 查找两个字符串的最长公共子串
- 设计一个图书馆管理系统(需求自己想),设计一下数据库表
三面
- 三面主要是问项目(一二面也会问)和手写代码
- Spark的主要工作机制
- 一个数塔问题,从第一行到最后一行最短的路径(经典动态规划问题)
- 反转链表中第m个节点到第n个节点
- 开放题,说一下MapReduce模型中Shuffle过程的优化
凡普金科
一面
- Java实现多线程的几种方式
- wait/notify机制,什么时候用notifyAll,实现原理
- 介绍一下Netty的机制,为什么说Netty支持高并发
- Scala的逆变和协变
- 写一个单例模式
- 图的存储
二面
京东
一面
- 介绍一下TCP滑动窗口
- HTTP协议get请求和post请求的区别
- Exception和Error的区别,他们的父类是什么
- 介绍一下垃圾回收机制,什么时候触发full gc,介绍一下CMS
- Java的类加载机制
二面
- 手写链表反转,时间复杂度多少
- 介绍垃圾回收机制,垃圾回收内存中除了新生代和老年代还有什么
- 快排的时间复杂度和空间复杂度
- 介绍一个最小生成树算法
- 微信公众号开发中openid是什么
- 一幢楼有100层,已知手机在其中某一层摔下就会坏,现在有两个一样的手机,请问,最少能摔几次保证一定找出那个极限的楼层值?
- 简历中没什么感兴趣的点就问了这些很快结束了
好未来
一面
- 获取单链表中倒数第k个节点
- 用非递归的方式计算二叉树的深度
- 如何设计一个线程池,说一下大体思路
二面
- 一个经典的动态规划问题,大意是有三个节点,每个节点代表到这的路径长度,从第一个节点往后走,可以走到下一个节点,也可以返回自己,要求n步走到第三个节点,代码实现计算最短的路径长度
去哪儿网
一面
- 主要讲笔试题的思路(LRU),存储用双链表实现,我是遍历实现查找,问怎么优化
- HashMap的结构,有什么特点
- HashMap是线程不安全的,在并发情况下怎么解决
- ConcurrentHashMap是如何实现线程安全的,与HashTable的区别
- 为什么会产生死锁,如何解决
- 对于Linux熟悉吗,在Linux中如何查看网络状态以判断是否发生拥塞
- 介绍一下Zookeeper的选举机制
- 介绍一下数据库优化的思路(问的很宽泛,从sql优化到索引优化等等都可以说)
- 有一个很大的日志文件,记录各个url访问情况,如何从中找出top100,如果集中在少数的几个 url如何解决(即如何解决数据倾斜问题)
二面
- Java中static的用法
- 类的初始化流程
- 在一个无序数组中如何尽快找到他的中位数
- 有一个很大的日志文件,记录各个url访问情况,如何从中找出top100,如果集中在少数的几个 url如何解决(与一面的最后一个问题重复了)
苏宁
- 在校成绩
- 项目介绍
- 你平时通过哪些渠道来了解前沿技术,进行技术积累
- 如何从一个员工表中查询男性员工有多少,女性员工有多少
华为CloudBU
参考书籍
- Java编程思想
- Java并发编程的艺术(方腾飞)这本书涵盖了面试中关于Java并发编程的绝大部分点
- 深入理解Java虚拟机(时间紧的话就看垃圾回收和类加载)
- 程序员代码面试指南(左程云)配合《剑指offer》应对面试中大部分手写代码的题
- 高性能MySQL(重点是索引那一章)
- 大型网站系统与Java中间件实践(对阿里的面试很有帮助)
- 操作系统和网络我看的是本科教材,大致过了一遍
面试总结
- 我面的是后台开发,面试过程中要经常总结,不断完善简历,不断补充面试中遇到的问题,面试中如果遇到了重复的问题而没有答好是很后悔的
- 每个公司重视的点都不太一样,但总体来看校招还是重视基础,如果没有特别丰富的项目经验,就要把基础知识打牢,手写代码一定要练。如果知识面广度够了,而且在某一方面研究的比较深一定可以找到满意的工作。
Top