Wednesday, June 23, 2010

Microprocessor

This is a collection of microprocessor(general) based questions that can be discussed.

1. What are the two famous architecture of CPU ?
2. What is the difference between Harvard and Von Neuman architecture ?
3. What is the use of instruction cache ?
4. Is it good to have more instruction cache or data cache ?
5. What is the use of data cache ?
6. What is the use of TLB ?
7. What do you mean by Cache Hit or Cache Miss ? What is cache hit rate ?
8. What is the difference between read miss and write miss ?
9. How does cache hit or cache miss determine the selection of processor ?
10. What is cache line or cache block ?
11. What is write-back or copy-back cache ?
12. What is the need for cache coherence protocol ?
13. What are the 3 kinds of cache misses ? or Which of the below causes the most delay and why ? Instruction read miss, Data read miss, and Data write miss .
14. What is boundary alignment and what is the use of it ?
15. What will happen if the data being fetched exceeds the cache line size ? or
if the data is not being aligned at the beginning of cache block ?
16. How can grouping of data can improve the cache based operations from application-side ?
17. What is cache prefetch ?
18. Brief up on pipelined versus Run-to-Completion processor software architecture ?
19. Why multicore processors are preferred to improve performance rather than trying to make a single processor based system faster ?
20. Does memory access speed varies at various stages ? Which is the fastest memory that you can directly deal with from a processor or Which type of memory of a CPU has almost zero percent latency ?
21. What is temporal locality and spatial locality ?
22. What are the applications of temporal locality and spatial locality ? or where are they applied in a CPU architecture ?
23. What is the use of Shadow Registers in ARM architecture ?
24. How will you calculate the idle time off a processor ?
25. How will you identify the endianness of a processor programatically ?
26. What is Memory Overlay ?
27. Tell about Bank Switching ?
28. What are the Disadvantages of Bank Switching ?
29. Why is the size of L1 cache smaller than that of the L2 cache in most of the processors ?
30. When should one use polling method and when should one use interrupt based method ? Are there scenarios in which both can be used ?
31. What could be the better way to determine the exact locations in which the prefetch instruction should be used ?
32. Considering that a processor runs at 100 MHz and the data is coming to the processor from an external device/peripheral at the rate of 1000 Mbit/s (8 Bits/Clockcycle @ 125 MHz), which is the best way to handle traffic that comes at a higher speed to the processor ?
33. Consider that there are 100 plus ways of interrupts occuring from various sensors. There are chances that all can occur at the same time too. How can the software be designed to handle it efficiently ?
34. What is Write-Back Cache ?
35. What is Write-Through Cache ?
36. What is cache coherency ?
37. What is Clock Cycles Per Instruction (CPI) ?
38. What is IPC(Instructions per cycle) ?
39. Tell about the 'nested interrupt handler' , 'reentrant interrupt handler' and ' prioritized direct interrupt handler' ?
40. What is Memory Banking ? Explain w.r.t 8051 architecture
41. What is Primary Memory and What is Secondary Memory ?
42. What is the advantage of MMU ?
43. How do you determine the direction of stack growth ?
44. What is the debugger that you have used ?
45. Have you used any emulator. If yes, how have you used it ?
46. Can you tell a scenario that was very difficult to solve / fix ?
47. Have you worked on optimization w.r.t memory usage ? What techniques have you followed to optimize ?
47. Have you worked on optimization w.r.t throughput / speed ? What techniques have you followed to optimize ?
48. What kind of co-processors have you used ?

Also, you can checkout the possible ARM processor interview questions.

Friday, June 18, 2010

Linux kernel - I

The below queries can be used for our linux kernel discussion.

1. How are FLIHs and SLIHs termed in Linux ?
2. What is the main drawback for not considering Linux as realtime ?
3. What is the type of scheduler used in Linux Kernel 2.5 ?
4. What are the types of scheduler used in Linux Kernel 2.6 to 2.6.23 and after Linux kernel 2.6.23 ?
5. CFS scheduler in Linux is based on red-black tree - True / False ?
6. O(1) scheduler in Linux is based on run queues - True / False ?
7. Is the architecture of linux kernel monolithic / microkernel ?
8. How will you trace the system calls made into the kernel of lInux ?
9. Tell about the Linux Kernel Compilation method ?
10. What is 'make mrproper' and how is it different from 'make clean' ?
11. What is Kmalloc and how does it differ from normal malloc ? or Why can't we use malloc in kernel code ?
12. Does the scheduler assign a zombie state to a process ?
13. Brief up 'vmalloc' vs 'kmalloc' ?
14. Brief up 'malloc' vs 'kmalloc' ?
15. How modules begin and end in LInux ? Tell the difference between Modules and Program ?
16. What is mmap ?
17. What are the advantages of mmap over read ?
18. Most of Unix kernels are monolithic - True / False ?
19. Why is microkernel slower than monolithic kernel ?
20. What are the advantges of microkernel over monolithic kernel ?
21. What is a 'Module' ?
22. What are the main advantages of using a 'Module' ?
23. Once linked in, the object code of a 'module' is equivalent to the object code of the statically linked kernel - True / False ?
24. What are the limitations of hard links / What are advantages of soft links ?
25. Unix Kernels are Reentrant - True / False ?
26. What is Kernel Control Path ?
27. What is the drawback in using semaphore for synchronization ? How does spinlock help in overcoming it ?
28. What does a semaphore consist of ? and What does a spinlock consist of ?
29. Why spinlocks are useless in uniprocessor systems ?
30. What are the two kinds of system events ?

Multicore processor

Initially multicore processors were used mainly in telecom industry. But, nowadays, these multicore processors have made inroads into almost every technology/industry. Here are a few basic multicore processor based questions that can be discussed upon..

1. Will increasing the number of cores, increase the throughput of your system ?
2. What are the general methods of communication between the cores ?
3. When is it better to use single core processor compared to multi-core processor ?
4. If the CPU in a multi-core processor updates the data in the cache, copies of data in caches associated with other cores will become stale. How is the multicore processor designed to handle this scenario ?
5. What is 'Run to Completion' software architecture ?
6. What is a 'Pipelined' software architecture ?
7. What is the difference between 'Run to Completion' and 'Pipelined' software architecture ?
8. How is the debugging and testing environment in the case of multithreaded/multiprocessing applications ?
9. At what point does adding more processors or computers to the computation pool slow things down instead of speeding them up?
10. Is there an optimal number of processors for any given parallel program?
11. How Many Processes or Threads are enough for an application ?

Monday, June 14, 2010

C - I

Here is a list of 50 interesting C interview questions that can be discussed upon...

1. In order to assign attributes to the pointer itself, rather than to the pointed-to object, you put the attributes after the asterisk. like ' char *const p = &c; ' - True/False

2. What is the output of the below code ?
char **p ="Hello";
printf("%s",**p);
return 0;

3. There is a char * pointer that points to some ints, and what should be done to step over it ?

4. What changes has to be done to get the ouput as "9 8 7 6 5" by the same recursive call method ?
int main(void) {
int i=9;
printf("%d \t",i--);
if(i)
main();
return 0;
}

5. What is the output in the below program ?
void main() {
int z = 12;
printf("%d",printf("Mr.123\\"));
printf(”%d”,printf(”%d%d%d”,z,z,z));
}

6. You can't 'shift' an array - True/False

7. Is it possible to do like this in C ?
char s[8];
s="ABCD1234";

8. bit-fields do not provide a way to select bits by index value - True/False

9. Does 'char *a' allocate some memory for the pointer to point to ?

10. A null pointer is does not to point to any object or function - True/False
An uninitialized pointer might point anywhere - True/False

11. The address of operator will never yield a null pointer - True/False
malloc returns a null pointer when it fails - True/False

12. char y[] is not identical to char *y - True / False . Explain the reason for either true/false.

13. What would be output of the below code ?
char x[] = "abcde";
char *y= "abcde";
printf("%c \n", x[3]);
printf("%c \n", y[3]);

14. Is it possible to have char x[5] in one file a declaration extern char * in other file ?

15. What is dangling pointer ?

16. Why does the below code cause segmentation fault ?
int* z = NULL;
*z = 1;

17. What are the two problems in the below code ?
char *s1 = "Hello, ";
char *s2 = "world!";
char *s3 = strcat(s1, s2);

18. What is the problem with the below code ?
i) char a[] = "Hello";
char *p = "Hello";
My program crashes if I try to assign a new value to p[i].

ii) char *a = "abcdef";
*a = 'X';

19. Some compilers have a switch to control if string literals are writable or not - True/False

20. Three attributes can be assign to a pointer: const / volatile / restrict - True/False

21. What are the problems in below code. How will you fix it ?
char *check(int n)
{
char box[20];
sprintf(box, "%d", n);
return box;
}

22. What is malloc's internal bookkeeping information and how does it play a role in mis-directing the location of the actual bug ?

23. Where would you use 'const int' instead of #define and where should you use #define instead of 'const int' ?

24. Keyword 'const' refers to read-only -> True/False

25. What is the output of the below code
#define MY_CALCULATOR 2+5+6
printf("%d \n" 3 * MY_CALCULATOR);

26. How does declaring function parameters as 'const' help in better,safer code ?

27. Which of the following is correct . Why does point no 'i' gives output sometime & sometimes it does not give output ?
i. char *a = malloc(strlen(str));
strcpy(a, str);
ii. char *a = malloc(strlen(str) + 1);
strcpy(a, str);

28. How do the below get expanded ? Which one is the preferred method & Why ?
#define mydef struct s *
typedef struct s * mytype;
mydef d1,d2;
mytype t1,t2;

29. i. const values cannot be used in initializers - True/False
ii. const values cannot be used for array dimensions - True/False

30. Is char x[3] = "wow"; legal ?
Why does it work sometimes ?

31. How will the below code corrupt stack ?
void checkstackcorruption (char *var)
{
char z[12];
memcpy(z, var, strlen(var));
}
int main (int argc, char **argv)
{
checkstackcorruption (argv[1]);
}

32. Is the below method of usage of realloc() correct ?
void *z = malloc(10);
free(z);
z = realloc(z, 20);

33. What does the below mean ?
int (*)[*];

34. The rank of any unsigned integer type shall equal the rank of the corresponding
signed integer type, if any - True/False

35. The rank of long long int shall be greater than the rank of long int which shall be greater than int - True/False

36.No two signed integer types shall have the same rank, even if they have the same
representation - True/False

37. sprintf function is equivalent to fprintf, except that the output is written into an array - True/False

38. Incase of both sprintf and fprintf , A null character is written at the end of the characters written and that is not counted as part of the returned value - True/False

39. Arithmetic underflow on a negative number results in negative zero - True/False

40.Negative zero and positive zero compare equal under default numerical comparison - True/False

41. 'type cast' should not be used to override a const or volatile declaration - True/False

42. 'sizeof' yields the size of an array in bytes - True / False

43. How will you determine the number of elements in an array using sizeof operator ?

44. What is l-value & r-value ?

45. What is the output of the below code ?
char (*x)[50];
printf("%u, %u,%d\n",x,x+1,sizeof(*x));

46.How will you declare & initialize pointer to a register located at phys addrs 600000h ?

47. What is NPC ?

48. Can we compare a pointer and integer ?

49. Why does *ps.i do not work in the below code ?
struct rec
{
int i;
float f;
char c;
};
int main()
{
struct rec *ps;
ps=(struct rec *) malloc (sizeof(struct rec));
*ps.i=10;
free ps;
return 0;
}

50. The term 'Pointer to pointer' is different from the term 'double pointer' - True/False

Thursday, June 10, 2010

uC/OS-II

Hey all, Here is a collection of uC/OS-II questions that would be of great interest and that can be discussed !

1. Expansion of uC/OS-II ?
2. What is the footprint size of uC/OS-II ?
3. Roughly, how man lines of code is it ?
4. What type of scheduler is supported by uC/OS-II ?
5. Does uc/OS-II RTOS support nested interrupts ? To how many levels ?
6. What are the APIs that play a significant role in uC/OS-II initialization ?
7. Binary semaphore in uC/OS-II use priority cieling to address priority inversion - True/False ?
8. What is the exact context switch time in uC/OS-II RTOS ?
9. Does uC/OS-II RTOS support MMU ?
10. Is it possible to use uC/OS-II RTOS without MMU ?
11. What could be the best reason/scenario for selecting uC/OS-II RTOS ?
12. Which is the lowest prirority task in uC/OS-II RTOS ?
13. The idle task is always the lowest-priority task and can not be deleted or suspended by usertasks - True / False ?
14. The idle task consumes some of the processor resources - True / False ? How to reduce the resource usage ?
15. What are the various states of task in uC/OS-II RTOS ?
16. Explain Task Scheduling in uC/OS-II RTOS ?
17. Task-level scheduling and ISR-level scheduling are done by OS_Sched() and OSIntExit(), respectively - True/False ?
18. Task level scheduling invokes a software interrupt for context switches in uC/OS-II RTOS - True / False ?
19. Why are interrupts disabled while identifying the high-prirority ready task ?
20. Which API services Clock ticks ?
21. uC/OS-II RTOS lacks soft realtime support - True / False.
22. Does uC/OS-II RTOS support sempahore / Tell about OSSemPend and OSsemPost use ?
23. Tell about the use of mailbox in uC/OS=II RTOS ?
24. If there is already a message in the mailbox, then an error is returned, and also it is not overwritten - True/False
25. uC/OS-II does not automatically check for the status of stacks - True/False
26. What is the use of OSTaskStkCheck() ?
27. How will you port uC/OS-II RTOS ?
28. While porting, Where do you do the compiler specific data type and processor specific changes for porting uC/OS-II RTOS or What are the changes specific to OS_CPU.h ?
29. WHat is the use of HOOK functions / APIs ?
30. How can you identify the exten to which the CPU is busy ?
31. WHere do you do the interrupt related processor specific changes for porting uC/OS-II RTOS ? or What are the changes to be done in OS_CPU_A.ASM ?
32. Tell about Message Queues operation ?
33. What is the difference between Mailbox and Message queue in uC/OS-II RTOS ?
34. What are hooks ?

PS - uC/OS-III RTOS has got released in March 2009 . The above questions have been framed based on uC/OS-II RTOS only.

Wednesday, June 9, 2010

Operating System

Earlier, i listed few of the good and highly interesting RTOS queries for discussion. Here, i am listing general Operating System based interview questions that can be discussed upon.

1. What is an interrupt Vector ?
2. How CPUs find the ISR and distinguish between the various devices ?
Is it possible for two devices to share an interrupt request line but have different ISR for those two devices ?
3. What is page fault ?
4. Which hardware unit of processor detects the page fault ?
5. Difference between Monolithic kernel, Micro kernel and Hybrid kernel ?
6. What is Interrupt Descriptor Table (IDT) ?
7. Main Difference between a process and thread ?
8. Threads are lightweight. Why and How ?
9. STACK growth is in downward direction in the case of 80x86 processor - True/False.
10. What is the difference between Multiprogramming and Multiprocessing ?
11. What is parallel programming ?
12. What is a time slice ?
13. What is the difference between multiprogramming and multiprocessing ?
14. What is parallel programming ?
15. What is ABI (Application Binary Interface ) ?
16. What is the layout of a program image in main memory ?
17. What are the types of IPC mechanisms ?
18. Tell about shared memory ? Does it provide locking mechanism ? When is it typically used ?
19. What are the types of synchronization problems and what are the resources that can cause such problems ?
20. What is data race ?
21. What is Indefinite Postponement / Indefinite blocking or starvation ?
22. What is Deadlock ?
23. What are the synchronization relationships that are present in a multithreaded or mulitprogramming applications ?
24. How Many Processes or Threads Are Enough for an application ?
25. How does memory segmentation help in memory protection ?

RTOS

RTOS has become very important as it is concerned with time critical events. Okay, let me list down few of the famous RTOS questions that can be discussed here.

1. What is priority inversion ?
2. What are the solutions for priority inversion ?
3. What is priority inheritance ?
4. What is priority ceiling ?
5. What is deadlock ?
6. What is the famous diners problem ?
7. What is mutex ?
8. What is spinlock ?
9. Where are spinlocks used ?
10. What do you mean by atomic operations ?
11. what is a semaphore ?
12. What are the types of semaphore ?
13. What is binary semaphore ?
14. What is a counting semaphore ?
15. What is message queue ?
16. What is the role of a scheduler ? How does it function ?
17. What is the difference between a normal OS and RTOS ?
18. What is preemption ?
19. What is preemptive multi-tasking/time-sharing ? What is its difference with co-operative multi-tasking/time-sharing ?
20. Threads are described as lightweight because switching between threads does not involve changing the memory context - True/False ?
21.What are the factors considered for a RTOS selection ?
22. What is the use of the method of temporarily masking / disabling interrupts ? When is it used ? What should be taken care while doing this method ?
23. Since, disabling/masking of interrupts can be done whent the critical section is ONLY SHORT,What method can be used if the critical section is longer than few source lines or if it involves few lengthy loopings ?
24. Difference between semaphores and disabling/masking of interrupts method ?
25. Binary semaphore is equivalent to Mutex - True/False. How ?
26. How can you avoid deadlocks incase of semaphore based designs ?
27. What is Message passing method ? What is its advantages ?
28. Tell about the design of Interrupt Handler and Scheduler in RTOS ?
29. What is interrupt latency ?
30. Even if we never enables interrupts in the code, the processor automatically disables them often during hardware access - True/False ? In this case how to reduce interrupt latency ?
31. When should we re-enable the interrupts in an ISR and why ?
32. How do you measure the latency of your system ?
33. What are First Level Interrupt handlers and Second level Interrupt handlers ?
34. What could be the typical design/implementation of FLIH and SLIH ?
35. Reentrant interrupt handlers might cause a stack overflow from multiple preemptions by the same interrupt vector - True / False ?
36. What kind of memory allocation procedure is good for embedded systems ?
37. Is there any RTOS that has non-preemptive scheduling ?
38. What is reentrant code ?
39. What is preemptive multitasking ?
40. What does timeslice refer to ?
41. If the time slice is too short then the scheduler will consume too much of processing time - True / False
42. What is I/O bound ? What is CPU bound ?
43. What is non-preemptive multitasking ?
44. CFS uses 'nanosecond' granularity accounting, the atomic units by which individual process share the CPU instead of previous notion of 'timeslice' - True/False .
45. When will you use binary semaphore ?
46. When will you choose busy-wait instead of context switch ?
47. What are the possible scenarios in which context switching of threads can occur ?
48. Can you use mutex/semaphore inside an ISR ?
49. Explain a scenari that could cause deadlock ? What is the best solution for a deadlock ?
50. Will the performance of your application improve if it has only a single thread and it is running on multiple cores of a processor ?
51. What will happen if there are more threads requesting for CPU resource such as time ?
52. What is Gang Scheduling and how is it useful ?
53. Can you sleep in interrupt handler ?
54. What is the main drawback for not considering Linux as realtime / RTOS ?
55. What is the drawback in using semaphore for synchronization ? How does spinlock help in overcoming it ?
56. What does a semaphore consist of ? and What does a spinlock consist of ?
57. Why spinlocks are useless in uniprocessor systems ?
58. What is timeslice ?
59. What is the difference between multiprogramming and multiprocessing ?
60. What is parallel programming ?
61. What are the types of IPC mechanisms ?
62. What are the types of synchronization problems and what are the resources that can cause such problems ?
63. What is data race ?
64. What is Indefinite Postponement / Indefinite blocking or starvation ?
65. What are the synchronization relationships that are present in a multithreaded or mulitprogramming applications ?
66. How Many Processes or Threads Are Enough for an application ?
67. Tell the advantages and disadvantages of Co-operative multitasking.
67. When should we use mutex and when should we use semaphore ?
68. How do you select a scheduler for your project
69. What are the types of approach for designing a scheduler
70. 

Tuesday, June 8, 2010

Boot loader

Here are boot loader related questions that are of great interest and that can be used for our discussions.... Check it out !

1. What are the various boot loaders that you have worked on ?
2. Where is the boot loader present in an embedded system design ?
3. In general, what does the boot loader do ?
4. What is the role of boot loader in embedded systems ?
5. How will you handle a scenario in which the boot software is erased/corrupted ?
6. How will you handle boot software erasure/corruption scenario if Boot ROM is not available ?
7. What do you mean by bootstrap loader and what does it do ?
8. Is booting different from bootstrapping ?
9. When the computer is powered ON, it does not have OS it in neither ROM nor RAM - True/False ?
10. What is a second-stage boot loader ?
11. Do LILO/GRUB/Syslinux belong to either first stage boot loader(small program) or second-stage boot loaders ?
12. What is network booting ?
13. What is Chain loading or Multi-stage boot loader ?
14. Can you brief up the boot sequence of a normal desktop computer ?
15. Tell about OMAP CPU booting ?
16. What are the most common boot modes of DSP processor ?
17. Give few examples for systems that use Host Port(HPI Boot) for DSP booting ?
18. How will you put U-Boot into the target board ?
19. TFTP is a stripped down version of FTP that does not require authentication - True/False ?
20. Why do you need 2 stage boot process in OMAP processor ?
21. Can you give a highlevel view of Linux Boot process ?
22. What is the role of MBR and its relation with BIOS ?
23. Where is the MBR located ?
24. What is the structure of MBR ?
25. The secondary, or second-stage, boot loader could be more aptly called the kernel loader - True / False
26. What is the relation between GRUB and filesystem while booting ? or Main Difference between LILO and GRUB ?
27. What is the difference between zImage and bzImage ?
28. What is the role of initrd/Initial RAM disk ?
29. What is the role of initrd/Initial RAM disk in Embedded systems ?
30. Can you tell about the major function-level flow for Linux i386 booting ?
31. Does GRUB involve a 3-stage boot loading ? If yes, what are they . Brief it ?

Hope this list will help in equipping yourself for few of major interview questions related with boot loaders :-)

I2C and SPI

Hey dudes, the following interesting questions related to I2C and SPI protocol can be used for  discussion.

1. Can devices be added and removed while the system is running (Hot swapping) in I2C ?
2. What is the standard bus speed in I2C ?
3. How many devices can be connected in a standard I2C communication ?
4. What are the 2 roles of nodes in I2C communication ?
5. What are the modes of operation in I2C communication ?
6. What is bus arbitration ?
7. Advantages and limitations of I2C communication ?
8. How many wires are required for I2C communication ? What are the signals involved in I2C ?
9. What is START bit and STOP bit ?
10. How will the master indicate that it is either address / data ? How will it intimate to the slave that it is going to either read / write ?
11. Is it possible to have multiple masters in I2C ?
12. In write transaction, the Master monitors the last ACK and issues STOP condition - True/False ?
13. In read transaction, the master doesnot acknowledge the final byte it receives and issues STOP condition - True/False ?
14. What is SPI communication ?
15. How many wires are required for SPI communication ?
16. What are the 4 logic signals specified by SPI bus ?
17. Does SPI slave acknowledge the receipt of data ?
18. SPI has higher throughput than I2C - True / False ?
19. Is it better to use I2C or SPI for data communication between a microprocessor and DSP ?
20. Is it better to use I2C or SPI for data communication from ADC ?
21. Duplex communication is possible by simultaneously using MOSI and MISO during each SPI clock cycle - True / False ?
22. Is it possible to connect SPI slaves in daisy chain ?
23. What is the role of shift register in Master and Slave devices in SPI ?
24. How will the master convey that it is stopping the transmission of data ?
25. What is bit banging ?

Hope , the above are the main possible embedded interview questions related to I2C/SPI protocol ! All the best :-)

Networking & Telecom - I

Hey guys, few questions that can keep us discussing for sometime...

1. What is network throughput ?
2. What is bandwidth ?
3. In which layer is network throughput normally measured ?
4. What is Bandwidth-delay product ?
5. What is goodput ?
6. What is maximum bandwidth for a TCP based communication ?
7. What is MTU ?
8. What is MSS ?
9. What is Path MTU discovery ?
10. Which layer of OSI model does fragmentation based on MTU ?
11. What is a LFN (Long Fat Network) ?
12. What is Jumbo Frames ?
13. What is difference between Fast ethernet n/w i/f card and Gigabit ethernet n/w i/f card ?
14. What is the difference between outb and outportb APIs ?
15. What is the need for retransmission mechanism ?
16. What is the need for retransmission mechanism at various layers ?
17. What is socket communication ?
18. What is the use of the following APIs - socket, bind, listen, connect, accept, send, poll, receive ?
19. Have you used 'select' API ?
20. What are the types of sockets ? What is the difference between the following - datagram sockets, stream sockets and raw sockets ?
21. Provide a brief description about TCP Connection Establishment / 3 way handshake method of TCP connection establishment.
22. What is the data structure used in TCP communication ?
23. Tell about TCP and UDP wrt Transport Layer of OSI model ?
24. Why is MTU size 576 bytes ?
25. Explain the communication between DCE(Modem) and DTE(PC) ?
26. What happens as soon as a packet arrives from the network in Linux ?
27. Why is the design of TCP servers mostly such that whenever it accepts a connection, a new process is invoked to handle it . But, why in the case of UDP servers, mostly there is only a single process that handles all client requests ?
28. Why does the client end of a connection use high port number(ephemeral ports) whereas the applications listen on typically small port numbers ?
29. When should you use UDP and When should you use TCP ? Also, give some realtime examples of applications that use TCP or UDP .
30. Difference between TCP and UDP ?
What is the difference between symbol rate and bit rate ?
31. What is BER (Bit error Rate / Bit Error Ratio)?
32. What is Spatial Multiplexing ?
33. What are the advantages of OFDM ?
34. In practice, OFDM signals are generated and detected using the FFT algorithm - True/False
35. What parameters can be changed for OFDM systems / Why should we not change Frequency ?
36. What is a Symbol in OFDM ?
37. What is the purpose of guard bands in OFDM ?
38. What do you mean by Tones in OFDM ?
39. Tell the 2 important tasks to be performed on the Receiver end of OFDM system ?
40. What is Turbo Codes ?
41. What are the advantages of Turbo Coding ?
42. What is Hybrid-ARQ ?
43. What is Frequency Reuse ?
44. What is Delay Spread ?
45. What is Call Processing ?
46. What is Reed-Solomon Error Correction ?
47. What is Reed-Solomon code and its areas of Uses ?
48. What is Shannon and its relation with Channel Capacity ?
49. What is "Channel Access Method" ?
50. What is FHSS - "Frequency-hopping spread spectrum" ?
51. What is TDM ?
52. Applications of TDM ?
53. What is TDMA ?
54. What are the features of TDMA ?
55. Tell few Systems that use TDMA ?
56. Tell about TDMA in 2G and 3G ?
57. Tell about CDMA vs TDMA ?
58. What is TDD ?
59. Examples of TDD systems ?
60. What is FDM ?
61. Applications of FDM ?
62. What is FDMA ?
63. What are the features of FDMA ?
64. What is FDD ?
65. Explain CDMA / IS-95 ?
66. What is spread spectrum and its use ?
67. What is the difference between UMTS and WCDMA ?
68. What does LAC stand for in CDMA ?
69. What is RLP and What is RLC ?
70. What are the basic ways to design the channel code and protocol for an error correcting system ?
71. What is convolutional code ?
72. What is the technology behind Mobile WiMAX ?
73. What is the technology behind LTE ?

This is a small set of questions that i have thought of. I will be updating more in the future !

Monday, June 7, 2010

Flash Memory

The below set of queries can be used for discussion on Flash Memory.

1. Why is serial flash memory preferred in embedded systems ?
2. Flash Memory is costlier than byte programmable EEPROM - True / False ?
3. MiniSD, MemoryStick are of NAND flash memory type - True / False ?
4. Flash memory's read access time is less than that of DRAM memory 's read access time - True / False ?
5. Flash memory has infinite number of erase-write cycles - True / False ?
6. NOR flash memory's usage is for random access read - True / False ?
7. NOR flash memory is preferred for XIP - True / False ?
8. NOR flash memory is more expensive than NAND flash memory - True/False ?
9. NAND flash memory's usage is for replacing the HDD and also to save space - True/False ?
10. NAND requires copying of memory contents into memory mapped RAM - True / False ?
11. A completely erased flash memory will have all corresponding bits set to 1 - True / False ?
12. Flash memory erases in both NOR and NAND flash memory is block basis - True / False ?
13. NAND flash memroy is not suitable for micrprocessor/microcontroller ROM - True / False ?
14. NOR memory is suitable for BIOS as it gives random access read/program - True/False ?
15. Why is NAND flash memory not suitable for ROM/Program memory of Microprocessor/Microcontroller ?
16. Erasure time of NOR flash memory is more than that of NAND flash memory - True/False ?
17. Write time of NOR flash memory is more than that of NAND flash memory - True/False ?
18. Why is blockwise erasure faster than that of bytewise erasure ?
19. Flash memory is a specific type of EEPROM - True / False ?
20. NAND flash memory is used for filesystems - True / False ? Why ?
21. In general, Flash Memory erase operation is slower than program operation . And the program operation is slower than read operation - True / False ?
22. In general, SPI interface is used by serial flash memory - True / False ?
23. What are the main areas of application of serial flash in embedded systems ?
24. NAND flash memory has greater storage density and lower cost per bit than NOR flash - True / False ?
25. What is XIP ? Where is it useful ?
26. What are the common Flash Memory problems ?
27. How will you test a Flash Memory ? Have you written any power on self test ?
How will you perform the following test procedures for flash memory -
a. Address bus test
b. Data bus test
c. Control signal test
d. Missing memory device test
28. Is writing to a flash memory straightforward ? How will you set/clear a particular bit of flash memory ?
29. How do you expand program memory space using Bank Switching/Code Banking ? Consider for 8051.
30. What are the disadvantages of Bank switching/Code Banking ? Consider for 8051.
31. Any alternative method to overcome drawbacks of Bank switching ?
32. What is the use of Common area in Code Banking ?
33. What is Overlaying ? Why is it popular in embedded systems ?

Knowing the answers for the above flash memory based interview questions will be definitely helpful to you for an embedded interview . Cheers :-) All the Best !

ADC and DAC

Hey geeks, the below is a set of possible ADC/DAC basic questions that can be discussed.

1. What are the factors you consider for the selection of ADC ?
2. What do you mean by Resolution of ADC ?
3. How do you determine the number of bits of ADC is required for you ?
4. Which factor determines the number of iterations in SAR done to approximate the input voltage ?
5. What are the 2 methods of ADC interface ?
6. Can you brief up the steps involved in ADC interface with 8051 or any microprocessor for the EOC based method ?
7. Can you brief up the steps involved in ADC interface with 8051 or any microprocessor for the Interrupt based method ?
8. How do you select the particular channel of a ADC . For example, can you tell for ADC0809 ?
9. When will you make the OE high in case of ADC0809 ?
10. What will happen if SC and EOC are tied together in ADC0809 ?
11. What is sampling rate/frequency ?
12. What is the use of interpolation formula ? Are you aware of any interpolation formula ?
13. What is sample and hold ?
14. Are there any Megasample / Gigasample converters ? Where are they used ?
15. What is aliasing ?
16. What is Nyquist-Shannon theorem ?
17. Is it good to sample at a rate that is higher than that of Nyquist Frequency ?
18. What is quantization error and when does it occur ? What is the unit of measurement of it ?
19. How can dithering improve digitization of slowly varying signal ?
20. Which type of ADC implementation is good or should be chosen, if we need lot of channels ?

Have a great day!

The Discussion Blog !

Hey guys, this is just something that i would like to say before starting this blog. The name of the blog throws enough light over this blog ! Well, hope you guys follow the blog regularly to get to know about various interview questions :-)