当前位置: 首页 > 面试经验 >

阿里测试开发面经+北森

优质
小牛编辑
83浏览
2023-05-18

阿里测试开发面经+北森

有些记不太清了,写个大概

最近一起面的,所以直接写在一起

一面

介绍部门

自我介绍

进程与线程的区别?开始吟唱

cpu调度算法?继续吟唱

并发怎么控制?项目中的体现?

有哪些印象深刻的排序算法?

这些算法复杂度是多少?哪些稳定

对于大数据上百万的数据排序怎么选择排序算法

堆排序相关

了解图论的相关知识吗

讲一讲最短路径、迪杰斯特拉之类的

hashset、hashmap?应用场景

平时怎么做的测试

单元测试写过吗

写题:

两数之和,要求算法复杂度0(N)?快速写完

怎么验证是不是o(n)的复杂度

二面

客户端输入url之后,发生了什么?

dns

收到请求后,服务端调用了哪些相关的组件?越详细越好

进程调度算法?

redis的大key问题怎么解决?没接触过,说了索引、分级。道心破碎

怎么找出redis里面所有的大key?

分redis的数据结构说呢{string、set 、hash}

分布式的热key问题。

怎么避免服务器集群里面单点接收太多请求而其他服务器却空闲的问题

写题:

去除一段代码中所有的注释:包括//与/**/。

要考虑//与/**/作为字符串存在的情况。

测试对这个算法题设计测试用例

反问:测试开发比例

部门业务问题介绍。

北森

面试官人很好、全程很愉快、会引导你思考、甚至预告自己接下来要上强度了。。。

项目数据库是自己设计的吗

讲讲设计过程

怎么判断数据库的字段设计没有问题

索引优化怎么做的

jvm:

回收算法有哪些

为什么对象使用堆进行存储

线程池拷问:

线程池的参数有哪些

线程池拿到任务的处理流程

为什么核心线程不回收?保持对于队列的监听。

核心线程与普通线程的区别有哪些?操作的对象不一样,一个处理任务、一个监听队列

线程回收的时机是什么?任务结束是一个很模糊的词,怎么判断当前任务执行完成?

在项目中怎么使用的线程池?具体设置了哪一些参数?

为什么要设置线程的个数为5?说了cpu核数*2。ssl服务为cpu密集型,大部分任务都是io密集型

怎么设计实现一个线程池

还有一些简单八股

说了部门工作、实习生培养制度

对我表示了认可、我哭死、修补了那段时间被拷打的道心破碎的我自己。

其他

还有一些其他的面试:

项目:

rpc的原理

threadlocal用在哪儿、内部架构

乐观锁用在什么地方

createTime存储在redis,使用的是什么数据结构

怎么保持redis与mysql的数据一致

项目中怎么做的来保证一致性

基础:

hashmap的红黑树为什么到了8才变

jdk8内部使用的垃圾回收算法

io模型、select、poll、epoll

伪泛型

java拆装箱的实现

结果

都过啦,但是因为拿到了不错的offer,5月也快结束了、实在不敢再去冒险趟流程,所以拒绝了接下来的面试,多少有点遗憾。

但是没关系啦

ps:

北森技术栈是c#

#我的实习求职记录#
 类似资料: