C Interview Questions

Want to become an expert in cracking C interview questions?

Start with practicing the questions below. Whether a question involves multiple choice or live coding, we will give you hints as you go and tell you if your answers are correct or incorrect.

After that, take our timed public C Interview Questions Test.

To use our service for testing candidates, buy a pack of candidates.


1. Palindrome

C Strings Public

A palindrome is a word that reads the same backward or forward.

Write a function that checks if a given word is a palindrome. Character case should be ignored. If the given word is a palindrome, the function should return 1; otherwise it should return 0.

For example, is_palindrome("Deleveled") should return 1 as character case should be ignored resulting with "deleveled" which is a palindrome since it reads same backward and forward.

Easy  
10min
 


  •   Example case: Wrong answer
  •   Lowercase words: Wrong answer
  •   Various words: Wrong answer


2. Watched Videos

C Arrays Public New

Implement the count_views function. It accepts an array of pointers to the Viewer struct, the size of the array, and the character array with the video name. It should return the number of Viewers who have watched a Video with the name video_name.

For example,

Video videos[] = { {.name = "Soccer", .unique_views = 500},
                   {.name = "Basketball", .unique_views = 1000} };
Viewer viewer = {.username = "Dave", .watched_videos = videos,
                 .watched_videos_size = 2};    
Viewer *viewers[] = { &viewer };

calling count_views(viewers, 1, "Soccer") should return 1.

Easy 
10min
 


  •   Example case: Wrong answer
  •   Some people did not see the video: Wrong answer
  •   Various people and videos: Wrong answer


3. Words

C Algorithmic thinking Sorting Public

Implement function sort_words that sorts an array of words that contain lowercase characters from english alphabet, in descending order, and is efficient with respect to time used.

For example, the array { "cherry", "orange", "apple" } should, after sorting, become { "orange", "cherry", "apple" }.

Easy  
10min
 


  •   Example case: Wrong answer
  •   Several words: Wrong answer
  •   Performance test on a dictionary: Wrong answer


4. Binary Search Tree

C Algorithmic thinking Data structures Public

Binary search tree (BST) is a binary tree where the value of each node is larger or equal to the values iA three-node binary tree.n all the nodes in that node's left subtree and smaller than the values in all the nodes in that node's right subtree.

Write a function that, efficiently with respect to time used, returns 1 if a given binary search tree contains a given value, else 0.

For example, for the following tree:

  • n1 (Value: 1, Left: null, Right: null)
  • n2 (Value: 2, Left: n1, Right: n3)
  • n3 (Value: 3, Left: null, Right: null)

Call to contains(&n2, 3) should return 1 since a tree with root at n2 contains number 3.

Easy  
15min
 


  •   Example case: Wrong answer
  •   Correctness: Wrong answer
  •   Performance test on a large tree: Wrong answer


5. Inspect Bits

C Bit manipulation Public

Implement the inspect_bits function that checks if given number contains 2 or more consecutive ones in its binary representation. If it does, the function should return 1. Otherwise, it should return 0.

For example, inspect_bits(13) should return 1 as it contains 2 consecutive ones in its binary representation (1101).

Easy  
15min
 


  •   Example case: Wrong answer
  •   Various numbers: Wrong answer


If you feel ready, take one of our timed public C Interview Questions tests:
  • C Online Test (Easy)
Not exactly what you are looking for? Go to our For Jobseekers section.