股票项目描述
简要了解“股票”并学习本项目中我们将实现的功能。
简介
股票代表公司以及个人对上市公司股份的所有权。这些股份的价格会因多种因素而波动,包括通货膨胀、市场需求和公司声誉等。市场上有许多证券交易公司,专门从事股票的买卖业务。这些公司始终在寻找新交易员加入团队。
本章讨论的情景和问题也与新员工入职流程相关,并探讨如何优化该流程。
问题描述
假设你是某股票交易公司的开发人员,正在为其在线交易平台开发功能。公司希望你为新员工的入职流程增加一些新功能。
公司发现许多新手在进行股票交易时经常错误地填写买入或卖出价格。因此,我们需要引入一个校验机制,及时提醒他们可能存在的错误。此外,在一笔交易完成后,必须确保结算期已结束,才能进行下一笔交易。
我们还希望了解每位员工是否完成了当天分配的交易目标。新手可以进行任意次数的交易,但必须达到每日最低交易目标。同时,我们还需要记录每位交易员达成特定交易里程碑的具体日期和周数。所有这些数据最终将用于绩效评估时决定晋升人选。
功能需求
为了实现上述功能,我们需要引入以下特性:
-
功能 #1: 根据公司设定的标准,验证股票买入和卖出价格的合法性。
-
功能 #2: 同一家公司的股票在结算期结束前不得再次交易。
-
功能 #3: 记录每位新手的交易记录,并判断其是否达到了最低交易目标。
-
功能 #4: 确定交易员达到特定交易里程碑的具体日期和周数。
-
功能 #5: 根据交易频率,确定表现最佳的交易员。
-
功能 #6: 总共需要由 K 名交易员完成 N 笔股票交易。需按照交易到达的顺序,将交易任务分配给每位交易员。
-
功能 #7: 在股票交易公司中,每天都会发生大量交易。所有交易记录都保存在日志文件中。请处理日志文件的一行内容,并返回该行开头的整数。
-
功能 #8: 给出某只股票在未来一段时间内的价格预测。我们的目标是通过在更高价格时卖出获利。请找出从第 i 个时间段之后,价格首次上涨所需的最少时间间隔数。
理解这些功能需求并设计相应的解决方案,将有助于我们在交易平台上实现所需的功能。
在接下来的课程中,我们将讨论这些功能的推荐实现方式。这些问题的解决方案同样适用于常见的编程面试题。