📜  苏格兰皇家银行面试经历 |第 2 组(软件设计师)

📅  最后修改于: 2022-05-13 01:58:35.715000             🧑  作者: Mango

苏格兰皇家银行面试经历 |第 2 组(软件设计师)

第 1 轮:这是笔笔试题,有 20 道 MCQ 题(我申请Java开发人员时与Java相关)和 4 道编码题,其中 3 道需要在纸上完成

编码问题:

找到编号最高的行。以 0 和 1 作为列值的 2d 排序矩阵中的 1

递归地反转链表

Rwo 道路,一次只允许一侧通行。同步代码以避免死锁

计数信号量问题,其中一个资源作为 N 个实例。同步访问资源。

与字符串初始化、 Java 8 特性、JIT、互斥、单例模式、流等相关的 MCQ 问题有时不止一个是正确的。

第二轮:这是第一轮的技术讨论

要求解释编写的程序。

以前公司的角色。

架构和理解在以前的公司完成的项目。

设计模式熟悉和使用并询问过Singleton

第 3 轮:在纸笔上进行了一小时的设计轮次 HIGH 和 LOW 级别的设计都被问到了。

设计一个可以有 N 个客户的系统。每个客户可以根据 P 数量的服务收取 M 个价格。

系统应具有以下特点

N 总是可以增加或减少

M 总是可以像(酒店价格)一样增加或减少,因此需要实施可变定价方案

服务也可以增加或减少

系统一次可服务数百万客户

系统应该是可扩展的和容错的。

应尽可能快地提供所请求的服务,以尽量减少空间。

第四轮:设计技术讨论轮

缓存实现。

哈希图实现。

只能存储重复的数据结构实现

实现一个服务,其中一个任务由 10 个线程并行完成,我们必须像文件下载管理器一样更新每个线程的任务进度