SAP concur上门

  1. 白人mgr, 考了一下如何设计一个hotel reservation system 我就简单说了一下ood

  2. 烙印manager 考了一道find second largest number in a array,然后又考了一道product of array except itself, 左右各扫一遍,可以避免0的exception,问了一下设计,假设一个分布式服务器连接到后面的同一个数据库,如何加个cache layer? 我的回答是 先hash一下准备要存的数据,看看他如果要被缓存,应该缓存到哪个服务器上面去,然后再到那台服务器找有没有缓存过这个数据。

  3. 好像是东欧的老哥? 设计一个dropbox类似的后台,但是又不是dropbox, 给你一个getNextFolder api 每次这个api会返回一个folder的名字,类似于一个iterator, folder的名字只有6个字符,要求非常非常低的延迟 0-9 a-z,这个系统还要是分布式,也就是说user A call 得到00001, user B call的话得到00002 所以一共是36种字符 所以就是有6^36个folder,楼主的做法是存一个auto increment的数字在数据库, 然后在用这个数字hash来转换成文件夹的名字 比如42 返回就是000016。然后叫我把这个hash的算法实现给写一下 最后又考了一下如何设计一个uber后台,就简单的问了一下uber的high level implementation

  4. 烙印,longest non repeated string, 还有如何手动实现一个arraylist,然后就是聊聊spring的知识

  5. 之前跟我店面的白人老哥,给你一个rest server,每次要从这个rest server读取payment的信息,payment的信息有 uuid, amound,description 这个rest server后面是sql db,payment的信息都是客户把raw file丢入s3 bucket 然后这些文件里面的数据会到数据库里面。请问如何设计这个系统 我的答法是在s3和rdms之间建立一个parse的微服务,然后面试官问我有没有办法让他只是有需要的时候跑 不用把服务器一直run,那很显然就是serverless, 我说用lambda,每次有文件上传到s3的时候,都会给lambda产生一个pull event 他说ok 但是我说用lambda的话 active run time只能是5分钟以内 假如要parse一个十分巨大的文件 那么lambda会产生 timeout 面试官很满意,然后说了一下假设只是很小的文件几个mb 那我说lambda足够了。他又问 如何不把数据库密码放在lambda里面呢? 我的回答是用aws自带的role access,让lambda可以assume这个数据库的role with write permission。他又问了 假设这个数据库很经常崩 怎么办? 我说master slave, master负责写和replica,然后slave负责request的读 这个可以减少master的read load, 或者加一个cache layer 面试官很满意 后面我又提了一下 db可以换成nosql 然后就是问我怎么设计这个rest server 的api

concur和sap是一个公司?

concur被sap收购了