Bloomberg校园面二轮

BB校园面一般都是连续安排在短时间内。如果面过了就会当场和你约下一轮的时间,没过的话就会请你回去。面完两轮后,BB给楼主约了下周的面试。他们这周先回去,下周再过来。不过 话说今天的一位面试官老哥还是去年我面实习的时候挂我的老哥,他好像没认出我。不过他基本用了去年的题目,连之前的趣味铺垫都没改。老哥要对面试用点心啊。。
第一题:实现一个reseveration system,人们可以提前预定,也可以随时取消预订。满足两个条件:

  1. Fair:先预定的人有更高的优先权
  2. 预定的人可以选择unregister取消预订。
    这题其实就是考数据结构:用一个list存所有预定的人,然后hashmap存key为人名,value为list中的位置。这样就可以满足以上两个要求。
    面试官还提了给前X人发邮件,就是遍历一下这个list就好了
    第二题:计算从station X到station Y的平均时间
    现在通过以下两个函数实时传入如下格式的数据
    swipeIn(string name, string station, int time)
    swipeOut(string name, string station, int time)
    这两个函数表示用户何时从哪个车站进去,何时从哪个车站离开。现在要实现函数average_time(string stationA, string stationB),来求出所有从A到B的行程的平均时间
    其实就是两个hashmap。当swipeIn的时候存入第一个map,swipeOut的时候算出时间,存入第二个map(value应该是pair(sum, count),这样更省空间),算平均值即可
    找工季祝大家好运!