shopee Java一面面经
用户的两次请求同时去扣减库存,如何保证扣减正确的?
如何保证可靠的消息队列?
基础知识:
链表如何实现的?链表如何删除一个元素。跳表如何实现的?
有1000万个数据,如何快速找出top1000?
树和图有什么区别?
快速排序的过程?平均时间复杂度和最差时间复杂度。链表的时间复杂度呢?跳表的呢?
mysql索引有几种实现的方法?
B+树的逻辑结构说下?
mysql有哪些锁?什么是悲观锁。
select语句查询的时候会加锁吗?
如果一个表的主键是int类型,不按序插入,会出现什么问题?
对索引,sql语句的优化说一下。
怎么防止sql注入?
TCP的断开连接过程,TIME_WAIT为什么是2MSL,1MSL默认是多少秒?
为什么要三次握手,两次握手不行呢?为什么不四次握手呢?
如果出现大量TCP的TIME_WAIT状态,如何解决?这个TIME_WAIT状态出现在服务端还是客户端。
TCP协议是如何保证可靠传输的呢?那么重传是怎么重传的呢?
DNS的解析过程。
对称加密和非对称加密的区别?
非对称加密可以被破解吗?不能破解是吧?
说一下Https用混合加密的一个过程。面试官不是很理解,大概复述了一下我说的,让我再说一次。
私钥可以改变吗?什么是数字证书?
linux的IO模型有哪些?对应Java里边的哪些IO模型。select和epoll有什么区别?
什么是虚拟内存。
什么叫零拷贝技术。
操作系统的进程的调度策略有哪几种。进程和线程的区别?
mysql主从复制如何实现的?(我说了Redis中的,mysql不太了解)为什么用RDB而不用AOF呢?
Java里边多线程是如何避免死锁的?线程池了解吗?
开发过程中,解决问题的思路。
对分布式框架了解吗?比如:RPC框架
项目都是用MVC架构开发的吗?
会轻易换语言吗?因为公司不是以Java语言为主。职业规划。
一道题,链表A和链表B,找这两个链表中交集的元素(int类型),链表A和链表B中都不会出现重复的元素,将结果存放在第三个元素里边。
再问一个问题,项目部署以后,出现很慢的情况,IO占用很高,你会怎么去查询问题?
问了面试官对自己的评价。
#Shopee##Java工程师##校招##面经#