CapitalIQ Interview Question
Software Engineer / DevelopersIf the rolled-up data is what that is required, we wouldn't want to store all the information in a database. We can compute the roll-up data on the fly and just push that information into the database. For example, if we have 5000 companies and the feed for each company has quotes reported every minute. We would have to process something like 5000*8*60 lines. Which can be accomplished using a simple perl script.
Assuming this is a real scenario:
1. Must validate all inputs, could be done automatically
by use of contraints in the DB. Since this is crtitical
data, I would create a seperate DB just for this step to
make sure the data is AOK before going in. This DB would
only hold a days' worth.
2. Since this is a comma delimted file can do a bulk load
into the DB.
Since there is no mentioned of an aggregation we'll skip
this and just mention it to the interviewer!
I believe we cud write a small python application to download the file from the FTP site, format it correctly and dump it into a database.I'd set that up to be run as a scheduled task and make sure the computer was always ON.
Cud u help a bit more on this...any comments on various methds we cud use.
Ok, so you've said you're using a database. Can you do it without using a database? In general, what's the advantage / disadvantage to using a database? How does that apply here?
- Gayle L McDowell July 12, 2005