2019春招面经总结

2019.3.4 今日头条(后台开发)

  1. 自我介绍
  2. 项目介绍
  3. Vue的生命周期
  4. Restful接口的作用
  5. es底层实现原理
  6. Web页面请求过程
  7. Set底层实现原理
  8. 二维矩阵顺时针输出
  9. 买卖股票的最佳时机
  10. json字符串处理

2019.3.8 华为(上午)

  1. 照着简历一条一条扒
  2. 微服务和模块化的区别
  3. 为什么使用慢开始和拥塞避免
  4. 为什么使用红黑树
  5. 一个二进制文件怎么执行
  6. synchronized底层实现
  7. 查找排序
  8. ARP地址解析
  9. 跳表
  10. 路由器和交换机的区别
  11. 路由器的二层转发和三层转发

2019.3.8 CVTE(下午)

  1. 项目相关
  2. 数据库的特性
  3. 数据库的隔离级别
  4. 数据库索引的维护
  5. B+树的高度如何维护
  6. Spring事务传播

2019.3.9 菜鸟一面

  1. Spring Cloud一直问到不会
  2. Spring Cloud里面是如何做序列化的
  3. 一致性哈希
  4. 剑指offer前两道题
  5. Java8用过哪些
  6. HashMap底层实现
  7. JVM在jdk1.8中的改动
  8. RabbitMQ如何保证消息按序到达
  9. Java中的异常
  10. 微服务异步调用

2019.3.23 头条一面

  1. 垃圾回收算法
  2. B+树
  3. HashMap底层实现
  4. 类加载器
  5. 36进制加法
  6. 阻塞队列是怎么实现的

2019.3.28 科大讯飞一面

  1. Spring的bean生命周期
  2. 为什么使用Mybatis
  3. Spring IOC
  4. Spring bean的作用域
  5. Spring bean是不是单例
  6. 数据库三大范式
  7. 数据库事务特性
  8. 数据库隔离级别

2019.3.29 小米(一面)

  1. 项目介绍
  2. 单例设计模式
  3. 适配器模式
  4. Spring @Scope注解
  5. Java元注解
  6. Spring IOC
  7. Spring MVC执行流程
  8. Spring InitializingBean接口
  9. HashMap
  10. ThreadLocal
  11. Serializable中的ID有什么作用
  12. 数据库事务
  13. 数据库连接池
  14. 隔离级别
  15. 最长不重复子串
  16. 二维矩阵搜索

2019.4.10 蘑菇街一面

  1. HashMap底层实现,扩容机制,头插还是尾插,为什么?
  2. Hashtable与HashMap的区别
  3. ConcurrentHashMap底层实现,1.7和1.8的区别
  4. ConcurrentHashMap在1.7中使用分段锁时,如果要对多个段进行修改,那么锁一个还是锁多个
  5. 线程的run方法和start方法区别
  6. 线程池原理,核心参数介绍
  7. 线程池的submit和execute方法区别
  8. 线程池的四种拒绝策略
  9. 当线程池中队列已满且当前线程数小于最大线程数,那么来了一个任务后需要创建新线程,那么这个线程处理的是刚刚来的任务,还是阻塞队列中的任务。
  10. 线程池线程数如何配置
  11. Spring相关知识:AOP、IOC
  12. Spring bean的生命周期
  13. 项目中秒杀流程,怎么实现?
  14. 库存预减用的是哪个redis方法
  15. 如果项目中的redis服务挂掉,如何减轻数据库的压力
  16. 如何避免消息队列的消费方重复消费消息
  17. 消息的消费结果如何返回给消息发送方

2019.4.16 度小满

一面:

  1. n个1~100的数字排序

  2. 图的存储方式、什么是有向无环图、使用HashMap存储图

  3. 一个指针,删除链表中的某个节点

  4. Collection和Collections的区别

  5. List、Set和Map的区别

  6. HashMap和Hashtable的区别

  7. Java中常见的锁

  8. CAP理论、Mysql支持CAP中的哪几个?

  9. redis常见的数据结构,以及底层实现

  10. redis set命令

  11. redis ttl命令

  12. redis为什么速度快

  13. redis持久化方式

  14. TCP/IP四层协议,数据链路层、传输层、网络层、应用层中常见的协议

  15. TCP和UDP的区别

  16. http和https的区别

  17. 对称加密和非对称加密

  18. JVM介绍

  19. 常见的垃圾回收算法和收集器

  20. SQL创建表语句、创建索引

  21. CSS中id和class的区别

  22. 百度云的秒传功能怎么实现、百度云分享链接功能怎么实现?

二面:

  1. 项目介绍、画架构图

  2. 介绍Eureka注册中心、设计一个注册中心(关注点是什么)

  3. 微服务的高可用,达集群

  4. 常见的负载均衡算法、设计一个负载均衡算法

  5. 最长不重复子串

2019.4.22 京东一面

  1. private、protected、private、default的区别

  2. Java基本数据类型

  3. Overload和Override的区别

  4. Java参数是值传递还是引用传递

  5. 接口和抽象类的区别

  6. final关键字修饰类、方法、变量

  7. 自动装箱和拆箱

  8. Integer a = 1会创建对象么?(-128到127的范围内,不会创建新的对象,而是从IntegerCache中获取的,大于该范围的才会创建对象)

  9. volatile关键字

  10. mysql中索引的好处以及维护代价

  11. left join、inner join、right join的区别

  12. CPU的组成(CPU内部结构大概可以分为控制单元、运算单元、存储单元和时钟等几个主要部分)

  13. JVM中线程共享的区域和非共享的区域

  14. Eden、From、To的比例

  15. 什么样的对象直接进入老年代

  16. 设计模式中除了单例和工厂还知道哪些?

  17. Spring AOP 异常通知

  18. Spring IOC原理

  19. Java对象序列化

  20. Redis直接操作的是什么?

  21. Redis数据类型有哪些?

  22. OSI七层、UDP、IP、HTTP分别工作在哪一层

  23. 设计一个专门用于生成订单号的微服务(订单号全局唯一、如何解决订单微服务高并发的请求)

  24. 电商项目

2019.4.24 阿里国际事业部一面

  1. HTTP和HTTPs的区别

  2. http状态码

  3. Spring AOP原理

  4. JDK动态代理和CGLIB动态代理的区别

  5. 常用的集合类,HashMap底层原理,是否安全,ConcurrentHashMap的底层实现

  6. synchronized和lock的区别

  7. mysql分组、排序、连接,写了俩SQL

  8. mysql的乐观锁和悲观锁

  9. 项目中redis都用在哪些方面

  10. ES的底层实现原理,分词器的原理

  11. Java8新特性

  12. 三道题:

排序

线程按顺序输出

一个原始字符串,根据每个字母出现的次数,按照ASCII码递增顺序重新调整输出
(1).原始字符串中仅可能出现“数字”和“字母”
(2).请注意区分字母大小写

示例:输入: 223aaabcccdd23 输出: 23abcd23acd2ac

2019.4.28 阿里国际事业部二面

  1. 项目介绍
  2. JWT无状态登录,同一用户在不同地点同时登录,如何处理
  3. 缓存穿透
  4. ES对document的底层操作
  5. maven出现jar包冲突,怎么解决
  6. 死锁产生的条件
  7. 归并排序

2019.4.29 商汤科技

一面:

  1. String、StringBuilder、StringBuffer的区别

  2. Integer转字符串的方法

  3. HashMap:初试容量、装载因子、扩容、是否是顺序的

  4. HashSet底层实现

  5. 继承Collection的有哪些:list、set

  6. Java元注解,自定义一个注解

  7. 读写锁

  8. synchronized与lock的区别

  9. Java8中对锁的优化

  10. Threadlocal

  11. mysql中的模糊查询优化,说了#和$的区别,还有索引不能使用前导模糊查询

  12. mysql发生死锁了,怎么解决?

  13. Spring IOC容器有哪些

  14. Spring中的设计模式,具体讲模板方法

  15. mybatis底层原理

  16. redis基本数据类型

  17. 手写lru(面试官想让我实现一下,我说用LinkedHashMap包装一下,然后遭到了嘲笑。。。。)

  18. 写一个单例,双重校验锁

  19. Java8新特性

二面:

  1. 介绍项目

  2. redis底层实现原理,过期机制、内存淘汰策略、缓存雪崩、缓存穿透、主从复制、集群

  3. RabbitMq的消息类型、消息确认机制

  4. FDFS原理、集群怎么搞

2019.5.5 阿里国际事业部三面

全部问场景题,架构、线程、数据库

2019.5.7 奇安信(360)

一面

  1. String类
  2. final关键字
  3. 包装类
  4. 如何在主线程中捕获子线程中的异常?(用Callable)
  5. Java虚拟机运行时数据区
  6. 如何产生栈溢出
  7. 类加载器、双亲委派模型
  8. 垃圾回收算法
  9. 内存分配策略
  10. Java集合类、HashMap
  11. TCP三次握手、拥塞控制
  12. 排序
  13. 在排序数组中找到所有和为target的连续子数组

二面

  1. 项目介绍,架构优化
  2. 1.8中HashMap的改动
  3. 为什么用ES,ES底层数据结构
  4. ES删除文档的原理
  5. Mysql存储引擎
  6. Mysql索引
  7. OSI七层模型,分别介绍每一层
  8. 一个数据库字段,长度设置为50和100有什么区别
  9. Mybatis的缓存
  10. Web页面请求过程

2019.5.9 美团简历面

自我介绍

链表反转

根据二叉树先序和中序序列建立二叉树

数组和链表的区别

Spring AOP

项目介绍

你可能感兴趣的:(面经)