Difference between revisions of "Interview Preparation Articles"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Miscellaneous Topics)
(BSS and Data Segments)
 
(29 intermediate revisions by 4 users not shown)
Line 11: Line 11:
 
*  [[Inline Specifier | '''Inline''' Specifier]]
 
*  [[Inline Specifier | '''Inline''' Specifier]]
 
*  [[Dynamic memory allocation in C]]
 
*  [[Dynamic memory allocation in C]]
 +
*  [[Standard Predefined Macros]]
 +
*  [[Interview Preparation topic: Recursive Function | Recursive Function]]
 +
*  [[Interview Preparation topic: Name Mangling | Name Mangling]]
 
<br/>
 
<br/>
  
 
== C++ Object Oriented Topics ==
 
== C++ Object Oriented Topics ==
 
*  [[Interview Preparation C++ Virtual, Polymorphism and Abstract class |What is "virtual", "polymorphism" and "abstract class"?]]
 
*  [[Interview Preparation C++ Virtual, Polymorphism and Abstract class |What is "virtual", "polymorphism" and "abstract class"?]]
 +
*  [[Dynamic Memory Allocation in C++]]
  
 
<br/>
 
<br/>
 +
 
== Operating Systems Topics ==
 
== Operating Systems Topics ==
 
=== FreeRTOS Tutorial ===
 
=== FreeRTOS Tutorial ===
Line 24: Line 29:
 
=== Other OS Topics ===
 
=== Other OS Topics ===
 
*  [[Interview Preparation OS Synchronization Primitives|Synchronization Primitives - Mutexes, Spinlocks, Queues etc.]]
 
*  [[Interview Preparation OS Synchronization Primitives|Synchronization Primitives - Mutexes, Spinlocks, Queues etc.]]
*  [[Interview Preparation OS Common Problems|Common Problems in Multitasking OS]]
+
*  [[Kernel Space and User Space|Kernel Space and User Space]]
  
 
<br/>
 
<br/>
 +
 
== Miscellaneous Topics ==
 
== Miscellaneous Topics ==
 
=== Bit Fiddling ===
 
=== Bit Fiddling ===
Line 33: Line 39:
 
*  [[Bit Structures | Bit Structures and Unions]]
 
*  [[Bit Structures | Bit Structures and Unions]]
 
=== BSS and Data Segments ===
 
=== BSS and Data Segments ===
*  [[Where do your variables stored | Where do Global and static variables stored ?]]
+
*  [[Where do your variables stored | Where are Global and static variables stored ?]]
 
<br/>
 
<br/>
  
Line 39: Line 45:
 
*  [[Interview Preparation Strings |String Manipulation]]
 
*  [[Interview Preparation Strings |String Manipulation]]
 
*  [[Interview Preparation Pointers|All about pointers]]
 
*  [[Interview Preparation Pointers|All about pointers]]
 +
*  [[Null Pointer]]
 
*  [[Add without using any arithmetic operators]]
 
*  [[Add without using any arithmetic operators]]
*  [[Data Structure Alignment-Packing and Unpacking of Structures]]
+
*  [[Data Structure Alignment-Packing of Structures]]
 +
*  [[Priority Queues]]
 +
*  [[Integer promotion in C]]
 
<br/>
 
<br/>
  
 
== Sorting Topics ==
 
== Sorting Topics ==
Sorting means arrangement of elements in a defined manner(Ascending/Descending order). This is widely used in the complex algorithms to decrease the time complexity. There are six types of sorting algorithms namely, Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort and Selection Sort.
+
*  [[Interview Preparation Sorting |Sorting]]
 
 
*  [[Interview Preparation Bubble Sort | Bubble Sort]]
 
*  [[Interview Preparation Insertion Sort | Insertion Sort]]
 
*  [[Interview Preparation Merge Sort | Merge Sort]]
 
*  [[Interview Preparation Quick Sort | Quick Sort]]
 
 
 
=== Big O notation ===
 
Big O notation is a mathematical way of representing an approximate time required for an expression to complete by checking for its major dependencies.
 
For a example, f(n) = n^5 + n.
 
 
 
As we go on increasing the value of n the dependency on the second half equation on the right-hand side will reduce.
 
 
 
so, we can also say that f(n) = n^5 or complexity is O(n^5) for n equal to infinity.
 
 
 
Note: For comparison of big O complexity for different algorithms, refer following site:  http://bigocheatsheet.com/
 
 
 
=== Source Code ===
 
*  [https://gitlab.com/Khanna_Bharat/Data_Structure Gitlab Source Code Link]
 
 
 
 
 
==Searching Algorithms==
 
Information retrieval is critical in any computer application. Large sets of records are stored in computer system, from which a particular record is fetched in which required information would be stored. Each record stored in the computer environment would have a key associated to it. Based on the search criteria system scans through the records and extract the matching records only. To Increase the speed or reduce the information retrieval duration, various searching techniques are used.
 
  
Below are the basic commonly used searching algorithms.
+
== Algorithms==
* [[Linear Search]]
+
*[[Searching Algorithms]]
* [[Binary Search]]
+
*[[Graph Algorithms]]
  
 
==Embedded C Interview Questions and Answers==
 
==Embedded C Interview Questions and Answers==

Latest revision as of 00:47, 13 February 2017

Interview preparation requires proficient knowledge of C/C++. This article has just been recently written (July 2013) and will be elaborated soon; the articles in RED are waiting to be written. The hope is that this article will be "one-stop-shop" for most common C/C++ interview questions.


Frequently Asked Topics


C++ Object Oriented Topics


Operating Systems Topics

FreeRTOS Tutorial

FreeRTOS is a real-time OS that has many ports for various different controllers. This is a great system to learn about because it gives you the fundamental knowledge of an operating system while making it incredibly easy to learn the material. Here's a must-read tutorial :

Other OS Topics


Miscellaneous Topics

Bit Fiddling

BSS and Data Segments


Others


Sorting Topics

Algorithms

Embedded C Interview Questions and Answers

The following link would navigate to some questions that are very commonly asked in interviews(Cisco,Intacct,WNI etc.). It encloses some C programs as well.