前言

文章开始之前,容我先笑会儿!这是何等的缘分,一名群友分享了他堪称神奇的面试经历!

秋招先是投了饿了么的简历,去面试因为太菜而被直接pass掉,然后就向我吐槽,饿了么的面试多么多多么难!尤其是项目部分,基本答不上!

而后又鼓足了勇气去阿里,没想到的是,就是这么巧:竟然遇到了同一位面试官!(我就想问:大佬跳槽也这么勤快吗?)

 

估计当事人都傻了吧!!!不过好在大佬每天面试的人蛮多,应该没有认出来,不然面试题怎么跟上次的怎么都差不多呢?但是这次能不能过, 还得看后续通知了!

好了,以下就是面试题的分享(因为两次问的都差不多,就放一起了)

一面

  • Java几种基本数据类型
  • Java每种类型占多少字节
  • int的上限是多少,32位和64位操作系统中int各占长度是多少
  • 操作系统中符号是怎么表示的
  • 重写和重载
  • 封装、继承、多态,及分别的应用
  • 设计模式有哪几大部分,简单工厂解释+手写,简单工厂中存在的问题(反射去解决)
  • 网络分层协议有哪些
  • 多进程编程和多线程编程的区别
  • 进程分哪几部分,进程堆和进程栈,c中通过malloc创建的对象放在堆还是栈
  • HTTP请求都有哪些,GET和POST区别
  • 请求头中用哪个表示请求体的大小
  • 聚簇索引,为什么要用聚簇索引
  • 并发和并行
  • Java中锁及原理
  • 中间还问了好多,有点记不清了。。。
  • 有100G数据,内存假设只有1G,如何排序(不用外排的思想,如果自己再设计一种)

二面

  • 以往一个项目中某个模块介绍(数据库设计,功能实现等)
  • 登录权限表结构如何设计的,权限数据结构怎么定义的,怎么存储的,前端怎么控制映射的,等等等(要把这个模块的每一个方面都讲全)
  • cookie,session,JWT区别异同,session全局共享怎么做
  • JWT认证授权过程,为什么要用到私钥,jwtToken中为什么要带signature,公钥怎么定义的
  • Ajax请求头怎么设置
  • HTTP请求方法有哪些,GET和POST区别
  • 请求到tomcat处理的流程(分别从网络和tomcat方面回答)
  • TCP滑动窗口原理,为什么要分组转发,发送和接收缓冲队列,优化
  • SYN攻击,如何预防
  • crsf攻击,如何解决
  • MQ应用场景,能解决什么问题,RabbitMQ有哪些组件哪些模式
  • Redis分布式怎么处理,哨兵模式
  • 缓存击穿和缓存雪崩区别
  • 之前项目用到什么设计模式,什么索引
  • 手写工厂模式
  • 聚簇索引页分裂问题,是不是一定要用主键索引
  • 从磁盘角度回答页分裂问题
  • 手撕代码1:归并排序
  • 手撕代码2:二维背包问题

总结

看了大佬问的的面试题,确实不简单,而且能这么短时间内从饿了么直接跳到阿里,想必也是大牛!也可能是阿里本来就受够了饿了么,直接调过去的也说不定。
最后为大家分享我整理的最全的Java面试资料,需要的朋友可以收藏+关注后 添加西方图中VX即可获取

 

 

 

 

 

听说一键三连的粉丝都面试成功了?也祝愿所有的读者都能够收获自己心仪的offer!