2019校招面经

蚂蚁金服实习(裸)

电话面试,问的很基础,int和integer的内存区别,String类可以被继承吗,linkedlist和arraylist的区别,final的特性。其他和项目相关的东西(redis,zookeeper,dubbo,solr) 推荐看操作系统和编译原理。

阿里巴巴实习(半裸)

  1. 先做自我介绍
  2. 没有多余的机器怎么实现分布式(推荐使用Docker容器)
  3. zookeeper与dubbo怎样配置
  4. 商城怎样实现秒杀系统
  5. redis做缓存(分布式下)怎样实现线程安全
  6. 缓存穿透问题的解决方案
  7. JUC包的特性
  8. ConcurrentHashMap与HashMap的区别
  9. JAVA各种锁机制
  10. 找出另两个字符串的最大重复子串数(KMP)

中兴通讯提前批

一面:

  1. 自我介绍
  2. 商城里的购物车系统怎么实现的
  3. 介绍文章专利(晶振的老化漂移)
  4. TCP/IP协议
  5. Linux基本命令(查看cpu使用率和磁盘使用率没答出来)
  6. 怎样完成项目开发后期测试工作

二面

  1. 自我介绍
  2. 怎样看待加班
  3. 如果在工期内完不成工作怎么办
  4. 英语自我介绍
  5. 介绍项目的人员分配与相互协作

三面:

  1. 个人情况,家庭背景之类
  2. 爱好,在学校的校园活动
  3. 项目的开发流程,压力测试
  4. 实验室的工作
  5. 有没有兴趣做别的职位

OPPO提前批

一面:

  1. 自我介绍
  2. 有没有学过计算机网络,操作系统,数据结构相关课程
  3. 如何实现和启动一个线程(自己实现接口start / 线程池excute或submit)
  4. 线程池的构造器参数有什么,各个代表什么,线程池接受一个请求时的各种情况,拒绝策略的几种方式
  5. 了解过NIO吗,对Netty了解吗?(这个说不是特别了解,其实应该答一些)
  6. 用过哪些数据结构,Atomic原子类的原理,HashMap是线程安全的吗, 它put一个数据的过程
  7. ConcurrentHashMap,HashTable和Collections.SynchorizedMap都是怎么实现线程安全的
  8. JVM加载一个类的过程,双亲委派模型的概念,解决的什么问题(自定义String类由哪个类加载器加载)
  9. Spring的IOC的优点和原理
  10. SpringMVC接收到一个请求的处理过程
  11. Dubbo和zookeeper实现服务注册请求的过程
  12. Dubbo的底层框架原理和通信协议
  13. 项目中的SSO单点登录系统是如何实现的
  14. 项目中的nginx的应用场景
  15. 场景题1:检测上亿用户的登录状态,并给已登录用户推送信息?

答:通过一致性哈希为每个用户分配一个用户ID,将用户的状态信息集体传入BitMap中,最后通过检测BitMap中的用户ID状态信息进行推送,BitMap中的用户信息进行定时更新。

  1. 场景题2:上亿用户请求服务器资源,怎样保证服务器性能?

答:搭建服务器集群,通过nginx实现软负载均衡,将用户的SessionID存入redis中,每个SessionID对应一台服务器,考虑到数据量庞大,搭建redis集群(面试官推荐使用redis分片)。实现每个用户去固定的服务器请求服务。

字节跳动

一面:

  1. 自我介绍
  2. 计算机网络七层模型,每一层的含义及应用场景(数据链路层的作用,路由协议哪一层)
  3. 数据结构有哪些,了解哈希吗(答得不好)
  4. 快排的实现原理
  5. 进程和线程的区别
  6. 操作系统切换进程的内部流程
  7. 操作系统的内存块和内存页的含义(不太了解)
  8. 死锁产生的原因和产生的条件
  9. Java虚拟机的类加载机制的加载过程,每个过程的工作
  10. Java的初始化顺序
  11. 数据库的ACID每个的含义
  12. 算法题(蓄水池最大容量)

二面:

  1. 自我介绍
  2. TCP三次握手,四次挥手的原因
  3. 如何避免死锁产生
  4. 数据库索引Hash索引,B+树索引各有什么优缺点
  5. 红黑树的特点
  6. HashMap拉链法同扩容原理及为什么按2倍扩容
  7. 堆排序的实现原理
  8. 垃圾收集器的底层原理
  9. 垃圾收集器的几种算法各自的应用场景和利弊
  10. 面向对象的特点
  11. Final的作用
  12. Java底层怎样实现多态的
  13. 算法题(判断一个树根节点到叶子节点的值的和是否等于期望值)

美团

一面:

  1. 自我介绍
  2. 介绍项目的整体框架
  3. 为什么用zookeeper实现注册中心
  4. MySql怎么去重(distinct)
  5. 如果两个用户同时提交订单但库存只有一件,怎么解决(事务)
  6. 项目中用到的事务,怎么实现的
  7. 知道活锁吗
  8. Java中堆内存怎么实现的,对应的垃圾收集算法
  9. Java中堆内存溢出产生的原因,及排查方式
  10. CAP的概念(一致性,分区容错性,持久性)
  11. 项目中用到的设计模式(回答策略模式),怎么实现的
  12. 给出一个命题,用策略模式给出设计方案(汽车经销商)
  13. SpringIOC的底层实现,三个业务层同时请求持久层的Bean实例,会有几个Bean
  14. sychorized和reentranlock的区别
  15. 写一个 归并排序(递归和非递归实现)

二面:

  1. 自我介绍
  2. 先自己用代码实现一个栈结构
  3. 然后问这个栈是不是线程安全的,如果不是怎样实现,除了用锁还可以用什么实现(用CAS怎么实现)
  4. 一个线程的生命周期,sleep会占CPU吗
  5. sleep和wait方法的区别
  6. 死锁的产生原因和解决方法
  7. Java多态有什么好处
  8. 为什么要重写equals方法
  9. TCP三次握手的原因
  10. 了解哪些设计模式,写一个模板设计模式
  11. 有哪些常用的数据结构
  12. JUC包用过哪些,介绍一下ConcourrentMap的原理
  13. B+树的特点,B树和B+树的区别
  14. 怎样保证cap里的一致性
  15. 哪些情况下要用到事务
  16. 了解分布式事务吗
  17. 了解数据库的MVCC吗
  18. 系统CPU飙升的原因有哪些(只说了死锁。。),怎样排查CPU飙升问题
  19. 看过哪些微服务的书
  20. 说一下分布式的概念和特点
  21. 数据库的锁有哪些,介绍一下独占锁
  22. 负载均衡策略有哪些,轮询和一致性哈希的区别
  23. 介绍一下事务的ACID,说一下脏读,重复读,虚读的产生原因
  24. Mysql主键索引和唯一索引的区别

浦发银行

先机试
一面:

  1. 自我介绍
  2. 问了几个Linux的常用命令,其中vim的步骤 i + 编辑 + :wq
  3. mysql和redis的区别
  4. Mybatis中的#{}和${}的区别
  5. Mybatis相对于JDBC的优势有哪些
  6. Mybatis的XML文件怎么写

华为

一面:

  1. 自我介绍
  2. 三个节点可以组成多少二叉树
  3. 红黑树的使用场景
  4. 了解介绍一下平衡二叉树
  5. 笔试复盘(重新手撕笔试第一题)

二面:

  1. 自我介绍
  2. 项目的分工,负责哪些模块
  3. 做过压力测试吗,大概能承受多少的并发
  4. ARP协议的作用
  5. 手撕了两道代码题

三面:

  1. 自我介绍
  2. 讲一下自己的优势
  3. 平时有什么兴趣爱好
  4. 讲一下自己的专利(刨根问底)
  5. 给12306设计一个承受高并发的抢票系统

小米

一面:

  1. 自我介绍
  2. 说一下自己的优势
  3. 项目主要负责哪些模块
  4. 介绍一下Dubbo的运行原理
  5. 项目中Zookeeper是干嘛用的,怎么部署到Linux上的,平时Linux平时会用到哪些命令
  6. Session的作用,项目里的Session是做什么的(SSO)
  7. 了解Spring吗,SpringIOC是什么,它的作用是什么
  8. 平时有参与数据库的优化吗?(说了索引)
  9. Like‘% + 关键字’,其中关键字的位置放在哪里会用到索引
  10. 聚簇索引和非聚簇的区别,它们用到了什么数据结构
  11. B树和B+树的区别
  12. OSI七层模型中应用层的下一层是哪一层
  13. ICMP协议是做什么的(判断IP包是否发送成功,以及不成功的原因)
  14. 了解DNS吗,它是做什么的,了解它的递归请求吗,世界上有几个DNS根域服务器
  15. 会写前端吗
  16. 写一个二分查找程序

二面:

  1. 自我介绍
  2. 手撕牛客的题
  3. TCP/IP分别下哪一层,路由器属于哪几层
  4. 讲一下SpringMVC的请求过程
  5. 说一下Servlet的生命周期
  6. 有了解Servlet3.0吗,它的异步请求知道吗
  7. java中的多线程了解吗,为什么会有多线程,解决什么问题
  8. JUC包下线程池的构造方法的参数,都代表什么
  9. 阻塞队列有了解过吗,它有哪些应用场景,知道生产者消费者模式吗
  10. 知道AQS吗,它的底层实现了解吗
  11. 了解NIO吗,介绍一下
  12. Mysql的存储引擎有哪些
  13. Innodb和myslam的区别
  14. 行锁的加锁流程
  15. 有了解过间隙锁吗

顺网科技

一面:

  1. 自我介绍
  2. 项目中又遇到哪些困难
  3. 说一下面向对象的特点
  4. 为什么说Java语言是跨平台的
  5. 项目中的SSO单点登陆系统是如何实现的
  6. SpringMVC接收到一个请求的处理过程
  7. 以后的职业规划
  8. 会看哪些技术书籍
  9. 了解Nginx吗
  10. 正向代理和反向代理的区别
  11. 怎么设计一个支持高并发的系统
  12. 会写前端吗
  13. 说一下Java线程中Join方法的底层原理

虎牙直播

一面:

  1. 如果java - XX.jar 运行一个jar包,应该运行jar里的哪个main方法
  2. 一个char型占几个字节,他是用什么编码的,Unicode和UTF-8的关系
  3. HashMap的数据结构,了解红黑树吗,还有哪些用到红黑树的集合
  4. 给一个HashMap同时存一万条数据,会出现什么问题,怎么优化
  5. 一个计算密集型的任务在多线程情况下怎样设置线程池的大小(查看CPU的核数)
  6. Spring中怎么解决循环依赖的问题
  7. redis的高可用介绍一下,问什么半数以上失败会定义集群失效?(paxos算法)
  8. Dubbo注册服务怎么实现的
  9. 了解Dubbo的异步调用吗,异步IO了解吗
  10. Dubbo的内部序列化用的什么协议
  11. 两个rpc服务之间的调用时长连接还是短连接,为什么
  12. 如果一次给一个Mysql中插入上万条数据,怎么优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值