Sunday, July 12, 2009

Qualcomm Internship Interview questions

2) Tell me about the most enjoyable project you have completed while at work/school, and why
· I developed one robust face detection/tracking algorithm on TI OMAP3430 platform, and also based on face detection I can overlay 2D/3D graphics object on the Phone via OpenGL.
· I improved H.264 video encoding with my developed two algorithms.
· Recently I also developed one robust head pose estimation running on TI OMAP3430.
· TI has already shown my developed demos to their customers.


3) What are some questions you would ask yourself before deciding to use a LUT to complete some task?
· (1). Firstly we should think lookup table can be generalized to other conditions. For example, we have developed one lookup table for color-based on tracking. In order to robustly tracking the faces, I have developed two lookup tables for fluorescent and incandescent conditions. For other conditions between fluorescent and incandescent condition, you need to consider whether your developed lookup table still works.
· (2). How big is your lookup table, especially for mobile device.


4) What data structure would you use if you were developing a spell checker for a language that contained 10 words, 100 words, 50000 words?
For 50000 words,
Binary Tree for larger dictionary should be used, because it gives O(log2(n)).
For small dictionary, array should be used.


4) What is one way you could dramatically hurt the performance of an image rotation function?
The pixel at non-integer position, additonal interpolation filter should be used.


6) What was this programmer most likely trying to do, and fix his code:
int f(char * p)
{
int n = 0;
while(*p != 0) n = 10 *n + *++p - 0;
return &n;
}
Convert one string to integer number.
int f(char * p)
{
int n = 0;
while(*p != 0)
n = 10 *n + *p++ - 0; // should post pointer plus plus
return n; //return one value not address.
}

No comments: