2018届秋季校招总结

来源:互联网 发布:韩国中国聊天软件 编辑:程序博客网 时间:2024/04/28 21:15

阿里菜鸟网络

  • 阿里主要问项目,涉及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的逆变和协变
  • 写一个单例模式
  • 图的存储

二面

  • Netty的粘包拆包问题
  • 对函数式编程的理解

京东

一面

  • 介绍一下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中间件实践(对阿里的面试很有帮助)
  • 操作系统和网络我看的是本科教材,大致过了一遍

面试总结

  • 我面的是后台开发,面试过程中要经常总结,不断完善简历,不断补充面试中遇到的问题,面试中如果遇到了重复的问题而没有答好是很后悔的
  • 每个公司重视的点都不太一样,但总体来看校招还是重视基础,如果没有特别丰富的项目经验,就要把基础知识打牢,手写代码一定要练。如果知识面广度够了,而且在某一方面研究的比较深一定可以找到满意的工作。
原创粉丝点击