一面(一个小时左右)
- 算法:写冒泡排序,问如何优化,简单讲了快排和堆排序的原理
- 数据库:解释左连接
- 数据库第一第二第三范式,数据库死锁
- linux:怎么查看内存;怎么查看进程,ps命令一般在什么情况下使用。
- 什么是幂等操作?怎么解决幂等操作
- 乐观锁和分布式锁是什么,分别对应的场景是什么?
- 了解Web层开发?数据库索引了解么?聚簇索引,非聚簇索引?索引分类?
- 了解分布式?高可用?如何保证节点集群的同步?了解过么?
- redis的复制,持久化,分布式锁,队列支持
- 设计模式里面,单例模式?实现单例模式的双重校验。
二面(70分钟左右)
- 算法:实现一致性hash
- 如何保证数据库并发时没有问题?如先查询,后更改,或者同一时间用户查询用户分期单记逾期,同时用户执行还款,到底用户逾期成功吗,换的钱是多少?
- redis的数据量,如何做的备份恢复?
- 你们的股票行情数据怎么做正确性校验,加入db以及redis都出错了呢?
- mysql数据库的分库分表,有什么中间件?,主键策略是什么
- 大规模的数据量的分库分表,动态数据源怎么做查询(一个业务需要查询多个数据源的信息,怎么做到找到对应的数据源)?
- epoll函数怎么理解?epoll函数在别的哪些地方有用到?
- 如何解决redis的缓存穿透问题?怎么解决redis的缓存雪崩问题?
- Git用的多吗?git和SVN有什么区别?为什么要进行add、commit、push三步?
- linux怎么对CPU分配?
三面(一个小时)
- 一致性hash底层用的什么数据结构
- 手撕:有时间区间,判断昨天送外卖的峰值。(这个题做了*十分钟,主要是外卖订单可能是前天的,昨天的或者今天的)
- web方面的应用多么,问了问HTTP?
- 智力题:一天24小时,时针和分针会重合几次?
- 介绍一下自己的项目。(疯狂怼项目了,连实验室的都问了,楼主搞通信的,面试官让我用白话给面试官讲了一些技术点。)
- 类似于百度地图,如何求A地到B地的路径,刚开始被面试官套路了,用各种分类讨论了半天,最后才发觉面试官想问的是有向图求最短路径?说了一下方法是什么?迪杰斯特拉算法作用,复杂度?
- 参加过社团吗?怎样能让合作更顺畅,遇到矛盾怎么处理?在沟通过程中出现过什么问题?怎么解决的?举一个具体的例子。
- 对未来职业发展方向的规划和想法 矛盾
- 有什么问题吗?
最后
权威指南-第一本Docker书
引领完成Docker的安装、部署、管理和扩展,让其经历从测试到生产的整个开发生命周期,深入了解Docker适用于什么场景。并且这本Docker的学习权威指南介绍了其组件的基础知识,然后用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。
总共包含了:简介、安装Docker、Docker入门、使用Docker镜像和仓库、在测试中使用Docker、使用Docker构建服务、使用Fig编配Docke、使用Docker API、获得帮助和对Docker进行改进等9个章节的知识。
关于阿里内部都在强烈推荐使用的“K8S+Docker学习指南”—《深入浅出Kubernetes:理论+实战》、《权威指南-第一本Docker书》,看完之后两个字形容,爱了爱了!