你能为这个系统设计问题提出一个方法吗



被问及软件工程师职位的设计问题。我无法接近这个问题,你们能为这个问题提出一个好的解决方案吗?

问题:有10台服务器,具有A、B、C、D、E等5个参数。每个参数都带有时间戳,并写入日志文件。请注意,所有10个设备都会写入一个日志文件。日志的格式为设备id、时间戳、参数(A、B、C、D或E(例如

  device 1, 5 june , A=4
  device 5 ,6 june , C =3
  device 4 ,5 june , A =3

设计一种日志记录机制,用户可以使用设备id和他想要的参数(a、B、C、D或E(查询API,并增加时间戳和单个日志文件。

我刚刚写了一个函数,它将遍历具有优先级队列的日志文件,以增加时间戳并获取参数,他问我,如果同一个用户查询同一个参数,你会再次遍历日志文件吗?我说我可以缓存它。我没有时间做这个了,但你们能给我一个好的设计吗?

如果我在面试你,你脑海中有一个设计是有人从互联网上给你的,那么下一个问题将是改变要求,使该设计不再适合。开放式设计问题的目的通常是看看你自己是如何处理设计问题的,而不是看是否有一个"好"的解决方案。

最新更新