单选8题24分,不定项7题21分,编程题3题,55分
A1.2道,但是第二天约面了
具体见阿里国际20250514一面
单选
- 生产者-消费者模式,缓冲区为N,只考虑同步,至少需要几个信号量
Empty
控制生产者的生产行为,防止生产者在缓冲区满时继续生产。Full
控制消费者的消费行为,防止消费者在缓冲区为空时继续消费。Mutex
保证了缓冲区数据的一致性,防止多个线程同时访问导致的数据不一致问题。
- 绘图应用程序,增加形状,不需要修改现有代码,适合什么设计模式
- TCP和UDP用端口号标识应用程序
- 循环队列容量怎么计算
front
指向队列的第一个元素,而rear
指向队列最后一个元素的下一个位置
如果rear > front,大小为rear - front
如果rear < front,大小为(rear - front + 容量) % 容量 - KMP
不定项
- 不可能的出栈顺序
- CAS
- 动态规划不能解决(单源最短路问题)
- 责任链是结构型设计模式
- HTTP
- 哈希冲突的解决方法
编程题
- 魔法环交替求和
https://niumacode.com/training/120/problem/P1653 - 小苯的排列构造(自己用了单调栈和随机构造,对了一部分)
https://niumacode.com/training/120/problem/P1654