京东一面
自我介绍轻松一点,不用像和hr面一样,我是技术面
问项目
看我写了比赛,和我聊了网络安全,从聊天中引导我到网站方面知识,先是从攻击方之后反转的防御方,应该如何保护网站(面试官知识底蕴太强了)
应该从哪些方面来保护网站
传输加密如何保证?自己写的加密算法,每次请求来获得一次秘钥加密敏感信息
客户端的代码我都可以看到,那我可以改数据啊,我请求你的秘钥把它传到后端,你怎么解决,数据篡改应该怎么解决
举个例子,你的系统上有个发短信功能,怎么防止短信轰炸,加验证码,这个能突破,引导我到IP,我说可以把IP加到黑名单
我从中拦截了数据包,我用你的包来登录怎么防,我说用IP防,面试官说,因为我抓的你的包所以一定是都是一样数据
类加载的时机
类的加载过程(具体干什么,过程说了,具体干什么忘了准备和解析)
我用一个boolean的变量,准备阶段是把它赋值成true了吗
这个变量从准备阶段由false变为true会造成什么问题(太菜了不知道)
介绍一下JMM
volatile的实现原理
怎么保证可见性的
哪些可以保证原子性,CAS做乐观锁吧
CountDownLatch有什么作用
在什么场景用过,减是用什么方法
信号量用来做什么
我一个请求进来,通过隐式方式
在线程内如何隐式的传递uuid
ThreadLocal用过吗
抽象类和接口的区别(类的话一定是共有的属性对吧,接口抽象的应该是行为对吧)
spi了解吗
设计原则
设计模式了解过吗
模板模式怎么用
MySQL
自增主键和随机主键的区别
存储结构 B+数
自增主键和随机主键的索引有什么区别
范围查询会用到索引吗
什么是索引覆盖
建了一个表,索引应该怎么定义它的数据结构,比如varchar
应该和它树的高度有关
占得小有什么好处
IO次数和什么有关系,IO一次取决于什么,磁盘页的大小
对深度分页知道吗
Redis和MQ接触过吗
Redis常用数据结构
ZSET用来作什么,为什么用zset不用set
zset的性能和什么有关系,时间复杂度是多少,会随着我的数据越大耗时越多吗