2018秋招面试题目总结

多线程

  1. 实现一个线程
  2. 实现一个线程,每隔10秒打印一次
  3. 实现A、B两个线程,交替打印
  4. 实现一个简单的线程池
  5. 线程的5种状态及转换过程
  6. 线程同步的方式
  7. 线程间通信、进程间通信
  8. volatile变量
  9. 死锁
  10. sleep和wait、yield的区别

数据库

  1. 乐观锁、悲观锁
  2. JDBC资源close()为什么是倒序的
  3. ACID,读问题

算法

  1. 双栈实现队列、双队列实现栈
  2. 二叉树、二叉排序树的遍历
  3. 判断一棵树是否为BST
  4. 字符串反转
  5. 检查数组是否包含某个值
  6. 去除数组重复元素,时间复杂度一定
  7. 给定一个map,打印最大的key
  8. 一亿条数据,打印其中最小的10条(思想)

基础

  1. Java类成员初始化顺序
  2. 局部变量未初始化调用结果
  3. break、continue
  4. 集合类
  5. 设计模式
  6. 实现一个String、StringBuffer
  7. 实现一个map
  8. Java封装指针的好处
  9. HashMap的底层原理
  10. equals和hashcode的区别、联系和使用场景

项目

  1. Aop
  2. JSON
  3. 登录模块加密、XSS攻击
  4. 序列化实质,为什么要序列化
  5. 设计模式在项目中的实际应用场景
  6. 分布式和集群
  7. Linux命令
  8. 多个订单抢购仅剩一件的商品
  9. Nginx实现session共享的几种方式
  10. Spring默认7种事务行为的区别
  11. 订单一段时间未处理怎么实现重新上架

转载于:https://www.cnblogs.com/jiachao/p/9916406.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值