Question d’entretien chez Siemens

A. Test Embedded C 1. Is C case sensitive language? Yes/No 2. Complete function below for swapping two values given by pointers. void SwapValues(unsigned int *pVal1, unsigned int *pVal2) { assert(pVal1 != NULL); assert(pVal2 != NULL); } 3. You have following code, what will be value of "b"? int a[10] = {1,2,3,4,5,6,7,8,9,10} int *b = *(&a[3] + 2); 4. Write macro which will return minimum of two given numbers. 5. You have value in "a" stored as big endian, write code to change its value to little endian. 6. Is the following function interrupt service routine? unsigned int isr_timer0(int value){ printf("Output: %d\n", value); return value + 10; } 6. Given function which fill array with natural number sequence. Does the function returns number of written items? unsigned int * fillNumber(unsigned int *pBuffer, unsigned int n) { unsigned int i; for(i = 0; i < n; n++) { pBuffer[i] = i + 1; } return &i; } B. Interview Introduce yourself. How you will debug multi-thread application. Do you have any experiences with linux kernel side development? What kind of ARM platforms do you know? What is the difference of standard kernel and RTOS kernel of Linux? How do you change priority of some process? What type of logic analyzer will you use? What are the difference between logic analyzer and oscilloscope? What types of soft-cores for FPGA do you know? What it TPM? (Trusted Platform Module.) What are you experiences with Linux security? How you will store passwords on some system?