Apple Interview Question
Senior Software Development EngineersCountry: United States
Interview Type: Phone Interview
Interviewer asked what parameter you'll consider so I would suggest, lets break down our performance analysis into 3 categories.
1. Hardware:
not enough memory, cpu utilisation by another process, number of page faults due to insufficient memory.
2. Software
Running time analysis of algorithm used in searching, suggest use of appropriate data structure or algorithm if not used.
3. Network.
If data coming from some remote site, look for optimisation of network calls, some design patterns for searching on remote site. etc..
I think you guys need to think about filesystems and other OS components.
- anon June 28, 2013Not everything in computer is implemented using hast table.
In case of spotlight if you see wiki the underlying data structure is B trees.
Think in that direction what factor apart from B trees would be a performance hit.
Hint: think about filesystems