3rd Onsite Interview @ National Instruments
2011-04-06 08:04:20
Threw resume at career fair, appointed for campus interview in a few days, went for onsite interview in Austin 1.5 months later
CAMPUS (End of Jan)
what's your 3 favorite language, 3 language best at?
situations and results of you take initiative in project, tackle problem and debug code?
deck of card, shuffle (easy)
calculate avg of values in tree nodes (i used DFS, quite easy)
how to make it BFS instead of DFS? (use queue)
(invite me to onsite interview after 4,5 weeks, the earliest slot is April)
Got there one day before the interview, and left the day after the interview. Since I already moved to CA after graduation, they paid return flights, and a nice hotel across the street of the NI campus. The interview day was well-organized, had breakfast with hosts, VP and CEO talked about their company, group discussion. then 3 one-to-one interviews, each was 1.25hr long, followed by a wrap-up interview (asked preferences between groups, behavioral questions, HR questions). Then a cool Lego robot demo, HR wrap-up talking about benefits etc. Then all candidates and their hosts had dinner at a nice restaurant.
ONSITE 1 (TestStand group)
0. behavioral questions 1, 2, 3
1. describe a project where complex data structures were used
2. add code only at places where commented to make the following code print "hello"
#include <stdio.h>
void f(/* add your code here */)
...{
/* add your code here */
}
void main()
{
char* s;
f(/* add your code here */);
printf("%s", s);
}
A: initially wrote it like strcat(s, "hello"), and found out no place can i call free after malloc in f(), then the interviewer gave same hints, asking what will the compiler do when i write "hello" in my code, i told him about the mem structure of the program, "hello" is put in global/ static data section. so the right way is to change value of s to point to the "hello" in global data section and the write answer should be...void f(char** s) {*s = "hello";}...so simple code, but not easy to figure out at first.
3. TreeNode {TreeNode* right, *left, *father}, given a node in the tree, print out all nodes at the same level?
A: easy one, find out distance of node to root first, use recursion to get all nodes at the same level, just pay attention to check if NULL pointers
ONSITE 2 (DAQ measurement group)
0. Behavioral questions 1,2,3
1. Find middle node of linked list
A: use two pointers, pay attention to NULL pointers
2. Design a meeting book system
A: DB schemas, UI, refined design after interviewer asked for more functionalities
ONSITE 3 (LabView core group)
0. Behavioral questions 1,2,3
1. Find out vampire numbers, e.g. 21 * 60 = 1260, i.e. all digits in the left part appear once and only once in the product result
A: transform ints to strings, string permutation, tear apart permutations and check if the product of two parts is equal to one of the permutations (uhhh...code was in a mess)
2. There was meant to be a second question about design, but since i spent too much time on the first one, he just close up by Q&A
CAMPUS (End of Jan)
what's your 3 favorite language, 3 language best at?
situations and results of you take initiative in project, tackle problem and debug code?
deck of card, shuffle (easy)
calculate avg of values in tree nodes (i used DFS, quite easy)
how to make it BFS instead of DFS? (use queue)
(invite me to onsite interview after 4,5 weeks, the earliest slot is April)
Got there one day before the interview, and left the day after the interview. Since I already moved to CA after graduation, they paid return flights, and a nice hotel across the street of the NI campus. The interview day was well-organized, had breakfast with hosts, VP and CEO talked about their company, group discussion. then 3 one-to-one interviews, each was 1.25hr long, followed by a wrap-up interview (asked preferences between groups, behavioral questions, HR questions). Then a cool Lego robot demo, HR wrap-up talking about benefits etc. Then all candidates and their hosts had dinner at a nice restaurant.
ONSITE 1 (TestStand group)
0. behavioral questions 1, 2, 3
1. describe a project where complex data structures were used
2. add code only at places where commented to make the following code print "hello"
#include <stdio.h>
void f(/* add your code here */)
...{
/* add your code here */
}
void main()
{
char* s;
f(/* add your code here */);
printf("%s", s);
}
A: initially wrote it like strcat(s, "hello"), and found out no place can i call free after malloc in f(), then the interviewer gave same hints, asking what will the compiler do when i write "hello" in my code, i told him about the mem structure of the program, "hello" is put in global/ static data section. so the right way is to change value of s to point to the "hello" in global data section and the write answer should be...void f(char** s) {*s = "hello";}...so simple code, but not easy to figure out at first.
3. TreeNode {TreeNode* right, *left, *father}, given a node in the tree, print out all nodes at the same level?
A: easy one, find out distance of node to root first, use recursion to get all nodes at the same level, just pay attention to check if NULL pointers
ONSITE 2 (DAQ measurement group)
0. Behavioral questions 1,2,3
1. Find middle node of linked list
A: use two pointers, pay attention to NULL pointers
2. Design a meeting book system
A: DB schemas, UI, refined design after interviewer asked for more functionalities
ONSITE 3 (LabView core group)
0. Behavioral questions 1,2,3
1. Find out vampire numbers, e.g. 21 * 60 = 1260, i.e. all digits in the left part appear once and only once in the product result
A: transform ints to strings, string permutation, tear apart permutations and check if the product of two parts is equal to one of the permutations (uhhh...code was in a mess)
2. There was meant to be a second question about design, but since i spent too much time on the first one, he just close up by Q&A

> 我来回应