渣渣春招面试经验

一面

  1. 手写排序算法,查找算法,循环队列
  2. Java为什么可以跨平台?
    答:因为Java编译产生的字节码文件,字节码文件可以在Java虚拟机上运行,因此可以跨平台。
  3. 基本数据类型的字节数?
    int 4,char 2, double 8, float 4
  4. 为什么char是2个字节?
    因为java采用的Unicode编码,所以对于中文来说,一个汉字在Unicode编码下占两个字节,所以java中char是支持一个中文字符的。
  5. b+树
    http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html

二面

  1. 说一下查找算法
    二分查找,二叉排序树查找,哈希查找
  2. 他们的最差时间复杂度和最好时间复杂度,以及分别出现的场景
    二分查找:主要是利用了树查找的思想,所以时间复杂度为树的深度,树的深度性质:具有n个结点的完全二叉树的深度为[log2n] + 1,由此导出二分查找的时间复杂度为O(logn),最好的情况就是O(1),刚好就在mid位置
    而叉排序树查找:最好O(logn),最差是非平衡状态O(n)
    哈希查找:如果没有碰撞的时候,时间复杂度为O(1),当数字发生全部碰撞时,有最差时间复杂度为O(n)
  3. 再说一下排序算法
    冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序
  4. 他们的最差时间复杂度和最好时间复杂度,以及分别出现的场景
    冒泡排序:最差O(n^2),最好是当这个是有序的,所以不用发生数据交换,为O(n)
    选择排序:最差O(n^2),最好也是O(n^2)
    插入排序:最差O(n^2),最好时,当它是有序的时候,为O(n)
    希尔排序:
    堆排序:最差最好都是O(nlogn),因为他对原始的排序状态不敏感
    归并排序:最差最好都是O(nlogn)
    快速排序:最差O(n^2),最好O(nlogn)
  5. ArrayList和LinkedList的优缺点和使用场景
    http://blog.csdn.net/jeffleo/article/details/55000058
  6. HashMap和TreeMap的实现原理和使用场景
  7. HashMap是如何扩容的
  8. 红黑树的旋转,以及时间复杂度分析
  9. 索引的优缺点
    https://www.oschina.net/question/565065_86331

只记得起这些了,数据结构复习不充分,时间复杂度分析没答好,二面后回来等通知

一面

  1. 说一下项目
  2. 常用的容器类有哪些
  3. ArrayList和LinkedList的原理
  4. HashMap和HashSet的原理
  5. ConcurrentHashMap的原理
  6. 怎么样去构建线程安全
  7. 手写sql语句,写完后叫我优化这个sql语句,答索引,问我怎么加,然后问我了解最长前缀匹配
  8. 手写一道算法题
  9. final的作用:
    意义: 最终的,不可改变的.
       1, 修饰变量,为常量,值不可变;
       2, 修饰对象,值可变,引用不变;
       3, 修饰方法,方法不可重写.
       4, 修饰类,无子类,不可以被继承,更不可能被重写.

二面

  1. 说我项目的架构设计,画图
  2. 怎么样去判断是否线程安全,怎么样构建使得线程安全(这里说了类的状态,happend-before之类的)
  3. 然后指点我这个项目,指出我这个项目不足,叫我回去好好钻研
  4. 问最近在干什么,平时喜欢干什么
  5. 学校在哪(想问学校离公司距离)

HR面

CVTE里面的员工我觉得态度很好,很热情,不像知乎说的那么黑
问的问题都是家庭情况,未来规划之类的。
(等通知中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值