Upload Button Icon Add office photos

Filter interviews by

Fastenal Software Developer Interview Questions and Answers

Updated 9 Nov 2024

Fastenal Software Developer Interview Experiences

1 interview found

Interview experience
5
Excellent
Difficulty level
Moderate
Process Duration
Less than 2 weeks
Result
Selected Selected

I applied via Campus Placement and was interviewed in Oct 2024. There were 3 interview rounds.

Round 1 - Coding Test 

It was a combination of mcq and coding questions
mcq: aptitude + c++ + sql question, nothing really tough
Coding question: 3 leetcode question, medium level, of stack, binary search and graph traversal

Round 2 - One-on-one 

(5 Questions)

  • Q1. Question regarding project
  • Q2. SQL basic to moderate question
  • Q3. C++ coding question on strings recursion callback in c, oops medium level question, finding error in code
  • Q4. Puzzles Q1-> cake cutting ( 3 cuts, 8 slices) Q2 ->9 bottles, 8 same weight bottles, 1 heavy, 2 tries using a balance
  • Q5. OS question difference bw multi-processing and multi-programming how would u reduce number of page faults. etc
Round 3 - One-on-one 

(3 Questions)

  • Q1. Once again project explanation
  • Q2. Basic to high level oops question:( C++) i was asked to write some class and in that these questions were asked 1: different types of access modifiers, but the question was asked indirectly. like why did...
  • Q3. HR questions, since it was a semi technical cum hr round,

Interview Preparation Tips

Interview preparation tips for other job seekers - stay clam and respond actively and please fill the company recruitment form properly, question was asked directly form that form. Also properly attend the pre placement talks, it would be beneficial as u can directly answer company related questions without any hesitation.

Interview questions from similar companies

I was interviewed before Dec 2020.

Round 1 - Face to Face 

(2 Questions)

Round duration - 60 Minutes
Round difficulty - Medium

This round was purely based on Data Structures and Algorithms . One has to be fairly comfortable in solving Algorithmic problems to pass this round . Both the questions asked were quite common and luckily I had already prepared them from CodeStudio and LeetCode.

  • Q1. 

    Binary Tree Traversals Problem Statement

    Given a Binary Tree with 'N' nodes, where each node holds an integer value, your task is to compute the In-Order, Pre-Order, and Post-Order traversals of the binar...

  • Ans. 

    Compute the In-Order, Pre-Order, and Post-Order traversals of a Binary Tree given in level-order format.

    • Implement functions to perform In-Order, Pre-Order, and Post-Order traversals of a Binary Tree.

    • Use level-order input to construct the Binary Tree.

    • Traverse the Binary Tree recursively to generate the required traversals.

    • Ensure proper handling of null nodes represented by -1 in the input.

    • Return the three traversals as

  • Answered by AI
  • Q2. 

    Reverse Linked List Problem Statement

    Given a Singly Linked List of integers, your task is to reverse the Linked List by altering the links between the nodes.

    Input:

    The first line of input is an intege...
  • Ans. 

    Reverse a singly linked list by altering the links between nodes.

    • Iterate through the linked list and reverse the links between nodes

    • Use three pointers to keep track of the current, previous, and next nodes

    • Update the links between nodes to reverse the list

    • Return the head of the reversed linked list

  • Answered by AI
Round 2 - Face to Face 

(1 Question)

Round duration - 45 Minutes
Round difficulty - Medium

This round basically tested some concepts from Data Structures and File Manipulation .

  • Q1. 

    Intersection of Two Arrays Problem Statement

    Given two arrays A and B with sizes N and M respectively, both sorted in non-decreasing order, determine their intersection.

    The intersection of two arrays in...

  • Ans. 

    The problem involves finding the intersection of two sorted arrays efficiently.

    • Use two pointers to iterate through both arrays simultaneously.

    • Compare elements at the pointers and move the pointers accordingly.

    • Handle cases where elements are equal and update the intersection array.

    • Return the intersection array as the result.

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPABig Basket interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, Operating Systems, Aptitude, OOPSTime required to prepare for the interview - 3 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

Interview Preparation Tips

Round: Test
Experience: Three questions of increasing difficulty level. The first one was on string manipulation, the second was based on the iterative version of the merge sort algorithm and the last one on dynamic programming.
Total Questions: 3

Round: Other Interview
Experience: Eight students were selected for this stage which consisted of three separate interviews. The first one was on algorithms and programming, the second on system design and the third was HR. In the algorithms and programming interview I was asked two questions. The interviewer asked me to first explain the proposed algorithm and then I was expected to write the code on a white board they had provided. Three weeks after the interviews the selected candidates were informed through the concerned placement coordinator.

General Tips: Don't panic, the interviewers don't expect you to come up with the optimum result directly and they will give you enough time to refine your solution.
Skill Tips: No special preparation is required. Just make sure that you have understood the fundamentals
of Data Structures and Algorithms well.
College Name: NIT SURATHKAL

I was interviewed before Mar 2021.

Round 1 - Coding Test 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Medium

This was a 1 hour online coding round on hackerrank platform. 3 DSA questions were given.

  • Q1. 

    Stock Trading Maximum Profit Problem

    Given the stock prices for 'N' days, your goal is to determine the maximum profit that can be achieved. You can buy and sell the stocks any number of times but can onl...

  • Ans. 

    The goal is to determine the maximum profit that can be achieved by buying and selling stocks on different days.

    • Iterate through the stock prices and buy on days when the price is lower than the next day, and sell on days when the price is higher than the next day.

    • Calculate the profit by summing up the differences between buying and selling prices.

    • Repeat the process for each test case and output the maximum profit possi

  • Answered by AI
  • Q2. 

    Ninja's Complement Problem Statement

    Every day, Ninja dreams of a number but does not understand its significance. Upon investigation, Ninja discovers that converting this number to binary, taking its com...

  • Ans. 

    Convert a number to binary, take its complement, and convert back to decimal.

    • Convert the given number to binary representation

    • Take the complement of the binary number by swapping '1's and '0's

    • Convert the complement back to decimal representation

    • Return the complement number for each test case

  • Answered by AI
  • Q3. 

    Bit Majority Number Generation

    You are given an array arr consisting of N integers. Construct a number from these integers such that, for each bit position, if the quantity of set bits (1s) is greater tha...

  • Ans. 

    Generate a number based on majority set bits in given integers array.

    • Iterate through each bit position and count set and unset bits

    • Construct the resulting number based on majority set bits at each position

    • Return the final constructed number

  • Answered by AI
Round 2 - Video Call 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Easy

In this round, a DSA question was first asked. Then a lot of discussion regarding the various test cases around this question took place. (e.g, handing of -ve numbers , decimals , overflow etc).
Main concentration was just to get as many as test cases possible and an efficient solution as well.
And Some common question like why you coding in C++?

  • Q1. 

    Sum of Digits Problem Statement

    Given an integer 'N', continue summing its digits until the result is a single-digit number. Your task is to determine the final value of 'N' after applying this operation ...

  • Ans. 

    Given an integer, sum its digits until a single-digit number is obtained.

    • Iteratively sum the digits of the integer until a single-digit number is reached

    • Output the final single-digit integer for each test case

    • Handle multiple test cases efficiently

  • Answered by AI
  • Q2. What are the advantages of Object-Oriented Programming (OOP)?
  • Ans. 

    OOP allows for code reusability, modularity, and easier maintenance.

    • Encapsulation: Bundling data and methods together to protect data from outside interference.

    • Inheritance: Allows for the creation of new classes based on existing classes, promoting code reuse.

    • Polymorphism: Objects can be treated as instances of their parent class, allowing for flexibility and extensibility.

    • Modularity: Breaking down a program into small...

  • Answered by AI
Round 3 - Video Call 

(1 Question)

Round duration - 60 minutes
Round difficulty - Easy

Again one coding question to be done on shared screen

  • Q1. 

    Counting Triangles in Graphs

    Given two graphs – a directed graph DIR_GRAPH and an undirected graph UNDIR_GRAPH – you are tasked with counting the number of triangles in each of the graphs.

    Example:

    In t...

  • Ans. 

    Count the number of triangles in a directed and undirected graph.

    • Parse the input to extract vertices, edges, and edges between vertices.

    • Implement a function to count triangles in both directed and undirected graphs.

    • Return the counts of triangles for each test case.

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 5 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewRejected

Skills evaluated in this interview

I was interviewed before Mar 2021.

Round 1 - Video Call 

(5 Questions)

Round duration - 60 minutes
Round difficulty - Easy

Technical Interview round with questions based on DSA, UNIX commands , Web Security etc.

  • Q1. 

    Find The Repeating And Missing Number Problem Statement

    You are provided with an array nums which contains the first N positive integers. In this array, one integer appears twice, and one integer is missi...

  • Ans. 

    Identify the repeating and missing number in an array of first N positive integers.

    • Iterate through the array and keep track of the sum of elements and sum of squares to find the missing and repeating numbers.

    • Use a set to identify the repeating number and calculate the missing number using the sum formula.

    • Handle multiple test cases by looping through each case and applying the same logic.

    • Example: For nums = [1, 2, 3, 4,...

  • Answered by AI
  • Q2. What is the difference between the 'ps' and 'top' commands?
  • Ans. 

    ps displays a snapshot of current processes, while top provides real-time information and allows for interactive management.

    • ps displays a static list of processes, while top continuously updates the list

    • top allows for interactive management of processes (e.g. killing, renicing), while ps does not

    • ps is useful for a quick snapshot of processes, while top is useful for monitoring real-time system activity

  • Answered by AI
  • Q3. What is cross-site scripting (XSS)?
  • Ans. 

    Cross-site scripting (XSS) is a type of security vulnerability that allows attackers to inject malicious scripts into web pages viewed by other users.

    • XSS occurs when a web application allows users to input unvalidated data that is then displayed on the page without proper encoding.

    • There are three main types of XSS: stored XSS, reflected XSS, and DOM-based XSS.

    • An example of XSS is when a user inputs a script into a sear...

  • Answered by AI
  • Q4. How can you prevent SQL injection?
  • Ans. 

    Prevent SQL injection by using parameterized queries, input validation, and escaping user input.

    • Use parameterized queries to separate SQL code from user input.

    • Validate and sanitize user input to prevent malicious code injection.

    • Escape special characters in user input before executing SQL queries.

  • Answered by AI
  • Q5. What is the command to kill all running Java processes?
  • Ans. 

    The command to kill all running Java processes is 'pkill -f java'

    • Use the 'pkill' command followed by the '-f' flag and 'java' keyword to kill all Java processes

    • Be cautious when using this command as it will terminate all running Java processes

    • Make sure to have the necessary permissions to kill processes on the system

  • Answered by AI
Round 2 - Face to Face 

(4 Questions)

Round duration - 60 minutes
Round difficulty - Medium

Questions based on designing. My first project as it was related to Image processing, so he also asked questions related to it.

  • Q1. Design a complete system for a traffic enforcement camera.
  • Ans. 

    Design a system for a traffic enforcement camera.

    • 1. Install cameras at strategic locations to monitor traffic violations.

    • 2. Use image recognition software to detect violations such as speeding or running red lights.

    • 3. Store captured images and violation data in a secure database.

    • 4. Generate automated tickets and send them to violators.

    • 5. Implement a user interface for law enforcement to review violations and approve ti

  • Answered by AI
  • Q2. How does JSON (JavaScript Object Notation) work?
  • Ans. 

    JSON is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate.

    • JSON is based on key-value pairs, where keys are always strings enclosed in double quotes.

    • Data is organized in a hierarchical structure using objects and arrays.

    • Example: {"name": "John", "age": 30}

    • Example: [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 35}]

  • Answered by AI
  • Q3. What software testing frameworks are you familiar with?
  • Ans. 

    I am familiar with testing frameworks such as JUnit, Selenium, and TestNG.

    • JUnit

    • Selenium

    • TestNG

  • Answered by AI
  • Q4. What is the best protocol for storing images?
  • Ans. 

    The best protocol for storing images is JPEG (Joint Photographic Experts Group).

    • JPEG is a widely used format for storing images due to its high compression ratio and good image quality.

    • It supports millions of colors and is compatible with most devices and software.

    • Other options include PNG (Portable Network Graphics) for lossless compression and GIF (Graphics Interchange Format) for animations.

  • Answered by AI
Round 3 - HR 

Round duration - 30 minutes
Round difficulty - Easy

This was a typical HR round with questions related to my final year project and some behavioral problems.

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, UNIX Commands, Javascript, OOPSTime required to prepare for the interview - 6 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Mar 2021.

Round 1 - Face to Face 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Medium

Technical round with questions based on DSA. Also, there was a discussion on my BTP project.

  • Q1. 

    Longest Palindromic Subsequence Problem Statement

    Given a string A consisting of lowercase English letters, determine the length of the longest palindromic subsequence within A.

    Explanation:

    • A subsequ...
  • Ans. 

    Find the length of the longest palindromic subsequence in a given string of lowercase English letters.

    • Use dynamic programming to solve this problem efficiently.

    • Create a 2D array to store the lengths of palindromic subsequences for different substrings.

    • Fill the array diagonally based on the characters in the string.

    • Return the length of the longest palindromic subsequence for each test case.

  • Answered by AI
  • Q2. 

    Binary Tree to Doubly Linked List

    Transform a given Binary Tree into a Doubly Linked List.

    Ensure that the nodes in the Doubly Linked List follow the Inorder Traversal of the Binary Tree.

    Input:

    The fi...
  • Ans. 

    Convert a Binary Tree into a Doubly Linked List following Inorder Traversal.

    • Perform Inorder Traversal of the Binary Tree to get the nodes in order.

    • Create a Doubly Linked List by linking the nodes in the order obtained from Inorder Traversal.

    • Return the head of the Doubly Linked List as the output.

  • Answered by AI
  • Q3. 

    Palindrome Permutation - Problem Statement

    Determine if a permutation of a given string S can form a palindrome.

    Example:

    Input:
    string S = "aab"
    Output:
    "True"
    Explanation:

    The permutation "aba" o...

  • Ans. 

    Check if a permutation of a string can form a palindrome.

    • Create a frequency map of characters in the string.

    • Count the number of characters with odd frequencies.

    • If there is at most one character with an odd frequency, return true.

    • Otherwise, return false.

  • Answered by AI
Round 2 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Medium

Technical interview round where the interviewer asked me questions based on DSA , algorithms and my project. Large set of questions pertaining to DBMS.

  • Q1. 

    Serialize and Deserialize Binary Tree Problem Statement

    Given a binary tree of integers, your task is to implement serialization and deserialization methods. You can choose any algorithm for serialization...

  • Ans. 

    Implement serialization and deserialization methods for a binary tree of integers.

    • Use any algorithm for serialization and deserialization.

    • Ensure the serialized string can be correctly decoded back to form the original binary tree.

    • Nodes are separated by spaces, and -1 is used to depict a null node.

    • Output the level order traversal of the deserialized binary tree with nodes separated by single spaces.

  • Answered by AI
  • Q2. 

    Shuffle Two Strings

    You are provided with three strings: A, B, and C. Your task is to determine if C is formed by interleaving A and B. A string C is considered an interleaving of A and B if:

    • The lengt...
  • Ans. 

    Determine if a string C is formed by interleaving two strings A and B.

    • Check if the length of C is equal to the sum of lengths of A and B.

    • Ensure all characters of A and B are present in C.

    • Verify that the order of characters in C matches the order in A and B.

  • Answered by AI
Round 3 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Medium

This was a design round where I was grilled on my internship , projects and some new design questions were also asked.
Q1. Design a work flow model of the entire work done in your internship.
Q2. Design a workflow model of any one of the projects you did.

  • Q1. Describe a map-based design for implementing a code that checks for isomorphic words in a file.
  • Ans. 

    Using a map-based design to check for isomorphic words in a file.

    • Create a map where the key is the sorted characters of a word and the value is a list of words with the same sorted characters.

    • Iterate through the file, for each word, sort its characters and check if it exists in the map. If it does, add the word to the list. If not, create a new entry in the map.

    • After processing the file, iterate through the map and out

  • Answered by AI
  • Q2. 

    Stack with getMin Operation

    Create a stack data structure that supports not only the usual push and pop operations but also getMin(), which retrieves the minimum element, all in O(1) time complexity witho...

  • Ans. 

    Implement a stack with push, pop, top, isEmpty, and getMin operations in O(1) time complexity without using extra space for storing additional stack data structures.

    • Use two stacks - one to store the actual elements and another to store the minimum element at each level of the main stack.

    • When pushing an element, compare it with the current minimum and update the minimum stack accordingly.

    • For getMin operation, simply ret...

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 6 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Mar 2021.

Round 1 - Coding Test 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Hard

3 DSA based questions were given to be solved within 60 minutes.

  • Q1. 

    Optimal BST Problem Statement

    You are given a sorted array representing keys of a BST and an array of frequency counts showing how often each key is searched. Your task is to construct a binary search tre...

  • Ans. 

    Construct a BST with minimum search cost based on keys and frequencies.

    • Create a recursive function to construct the BST by considering all possible root nodes.

    • Calculate the cost for each possible BST and return the minimum total cost.

    • Optimize the solution by using dynamic programming to store intermediate results.

    • Ensure that the keys are sorted and frequencies are provided for each key.

    • Example: For keys [1, 3, 5] and f...

  • Answered by AI
  • Q2. 

    Number of Distinct Substrings Problem Statement

    Given a string WORD containing lowercase English alphabets and having length N, determine the number of distinct substrings in WORD.

    Input:

    The first line...
  • Ans. 

    Count the number of distinct substrings in a given string.

    • Iterate through all possible substrings and store them in a set to avoid duplicates.

    • Use nested loops to generate all substrings efficiently.

    • Consider using a hash set to store unique substrings.

    • Example: For input 'abcd', generate substrings 'a', 'ab', 'abc', 'abcd', 'b', 'bc', 'bcd', 'c', 'cd', 'd'.

  • Answered by AI
  • Q3. 

    Find Distinct Palindromic Substrings

    Given a string 'S', identify and print all distinct palindromic substrings within it. A palindrome reads the same forwards and backwards. For example, 'bccb' is a pali...

  • Ans. 

    Find and print all distinct palindromic substrings in a given string.

    • Iterate through all possible substrings of the input string.

    • Check if each substring is a palindrome.

    • Store distinct palindromic substrings in a set to avoid duplicates.

    • Sort the set of palindromic substrings and print them space-separated.

  • Answered by AI
Round 2 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Medium

Technical Interview round where the interviewer asked 2 DSA problems.

  • Q1. 

    Distance Between Two Nodes in a Binary Tree

    Given a binary tree and the values of two distinct nodes, determine the distance between these two nodes in the tree. The distance is defined as the minimum num...

  • Ans. 

    Calculate the distance between two nodes in a binary tree.

    • Traverse the tree to find the paths from the root to each node

    • Find the lowest common ancestor of the two nodes

    • Calculate the distance by adding the distances from each node to the common ancestor

  • Answered by AI
  • Q2. 

    Decode Ways Problem Statement

    Given a string strNum that represents a number, the task is to determine the number of ways to decode it using the following encoding: 'A' - 1, 'B' - 2, ..., 'Z' - 26.

    Input...

  • Ans. 

    The task is to determine the number of ways to decode a given number string using a specific encoding.

    • Use dynamic programming to solve the problem efficiently.

    • Consider different cases like single digit decoding, double digit decoding, and invalid cases.

    • Handle edge cases like leading zeros and empty string inputs.

    • Implement a recursive function with memoization to avoid redundant calculations.

  • Answered by AI
Round 3 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Medium

Technical interview round where I was given 2 DSA problems to solve.

  • Q1. 

    Validate Binary Search Tree (BST)

    You are given a binary tree with 'N' integer nodes. Your task is to determine whether this binary tree is a Binary Search Tree (BST).

    BST Definition:

    A Binary Search Tr...

  • Ans. 

    Validate if a given binary tree is a Binary Search Tree (BST) or not.

    • Check if the left subtree of a node contains only nodes with data less than the node's data.

    • Check if the right subtree of a node contains only nodes with data greater than the node's data.

    • Recursively check if both the left and right subtrees are also binary search trees.

  • Answered by AI
  • Q2. 

    Number of Islands Problem Statement

    You are given a non-empty grid that consists of only 0s and 1s. Your task is to determine the number of islands in this grid.

    An island is defined as a group of 1s (re...

  • Ans. 

    Count the number of islands in a grid of 0s and 1s connected horizontally, vertically, or diagonally.

    • Iterate through the grid and perform depth-first search (DFS) to mark visited land cells as water.

    • Increment the island count each time a new island is encountered during DFS.

    • Consider all adjacent cells (horizontally, vertically, and diagonally) while exploring the island.

    • Ensure to handle boundary conditions and check fo...

  • Answered by AI
Round 4 - HR 

Round duration - 30 minutes
Round difficulty - Easy

Typical HR round where he asked questions on my resume and challenges faced in my project.

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 5 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Dec 2020.

Round 1 - Face to Face 

(2 Questions)

Round duration - 60 Minutes
Round difficulty - Medium

This was a Data Structures and Algorithms round with preety good questions . I was expected to come up with an efficient approach and code it as well .

  • Q1. 

    K Closest Points to Origin Problem Statement

    Your house is located at the origin (0,0) of a 2-D plane. There are N neighbors living at different points on the plane. Your goal is to visit exactly K neighb...

  • Ans. 

    Find the K closest points to the origin in a 2-D plane using Euclidean Distance.

    • Calculate the Euclidean Distance of each point from the origin

    • Sort the points based on their distances

    • Return the first K points as the closest neighbors

  • Answered by AI
  • Q2. 

    Power Set Generation

    Given a sorted array of 'N' integers, your task is to generate the power set for this array. Each subset of this power set should be individually sorted.

    A power set of a set 'ARR' i...

  • Ans. 

    Generate the power set of a sorted array of integers with individually sorted subsets.

    • Use recursion to generate all possible subsets by including or excluding each element in the array.

    • Sort each subset before adding it to the power set.

    • Handle base cases for empty array and single element array.

    • Ensure the subsets are unique by using a set data structure.

    • Time complexity can be exponential due to the nature of generating

  • Answered by AI
Round 2 - Face to Face 

(2 Questions)

Round duration - 50 Minutes
Round difficulty - Hard

This was also a DSA round where I was asked to code only one of the questions but I eventually ended up coding both as I had some spare time and explained my approches very smoothly to the interviewer . This round went preety well .

  • Q1. 

    Roman Numeral to Integer Conversion

    Convert a string representing a Roman numeral into its integer equivalent and return the result.

    Explanation:

    Roman numerals are represented by seven different symbol...

  • Ans. 

    Convert a Roman numeral string to its integer equivalent.

    • Create a mapping of Roman numeral symbols to their integer values.

    • Iterate through the input string and add the corresponding integer values.

    • Handle cases where subtraction is needed (e.g., IV = 4, IX = 9).

  • Answered by AI
  • Q2. 

    Pair Sum Problem Statement

    You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.

    Note:
    ...
  • Ans. 

    Find pairs of elements in an array that sum up to a given value, sorted in a specific order.

    • Iterate through the array and for each element, check if the complement (S - current element) exists in a hash set.

    • If the complement exists, add the pair to the result list.

    • Sort the result list based on the criteria mentioned in the question.

    • Return the sorted list of pairs.

  • Answered by AI
Round 3 - Face to Face 

(2 Questions)

Round duration - 50 Minutes
Round difficulty - Medium

This was also a DSA round with 2 questions . One was implementation heavy and the other was related to recursion and so I handled it carefully so that my code does not run into TLE or Segmentation Fault.

  • Q1. 

    Arithmetic Expression Evaluation Problem Statement

    You are provided with a string expression consisting of characters '+', '-', '*', '/', '(', ')' and digits '0' to '9', representing an arithmetic express...

  • Ans. 

    Evaluate arithmetic expressions in infix notation with given operators and precedence rules.

    • Parse the infix expression to postfix using a stack.

    • Evaluate the postfix expression using a stack.

    • Handle operator precedence and parentheses while evaluating.

    • Ensure no division by zero cases and operands fit in 32-bit integer.

  • Answered by AI
  • Q2. 

    Remove Duplicates from Sorted Array Problem Statement

    You are given a sorted integer array ARR of size N. Your task is to remove the duplicates in such a way that each element appears only once. The outpu...

  • Ans. 

    Remove duplicates from a sorted array in-place with O(1) extra memory.

    • Use two pointers - one for iterating through the array and another for placing unique elements.

    • Compare current element with next element to identify duplicates and skip them.

    • Update array in-place by moving unique elements to the front.

    • Return the length of the array after removal of duplicates.

  • Answered by AI
Round 4 - Face to Face 

(2 Questions)

Round duration - 50 Minutes
Round difficulty - Medium

This was a typical System Design round where I was asked about the various features of Facebook and what sort of data structures and algorithms are used in implementing them .

  • Q1. How does Facebook store likes and dislikes?
  • Ans. 

    Facebook stores likes and dislikes using a combination of databases and algorithms.

    • Likes and dislikes are stored in databases such as MySQL or Cassandra.

    • Algorithms are used to analyze user behavior and recommend content based on likes and dislikes.

    • User interactions with posts, pages, and ads are tracked to determine likes and dislikes.

    • Likes and dislikes may also be used to personalize the user's feed and target ads mor

  • Answered by AI
  • Q2. How does Facebook implement graph search?
  • Ans. 

    Facebook implements graph search using a graph database to efficiently search for connections between users and their interests.

    • Facebook uses a graph database to store connections between users, pages, groups, etc.

    • The graph search algorithm traverses the graph to find relevant connections based on user queries.

    • It takes into account factors like user relationships, interests, and interactions to provide personalized sea

  • Answered by AI
Round 5 - Face to Face 

(2 Questions)

Round duration - 50 Minutes
Round difficulty - Medium

This was a preety intense round as I was grilled more on my System Design concepts but eventually I was able to asnwers all the questions with some help from the interviewer.

  • Q1. What is Hadoop and why is it used?
  • Ans. 

    Hadoop is a framework for distributed storage and processing of large data sets.

    • Hadoop is used for storing and processing big data across a distributed network of computers.

    • It is based on the MapReduce programming model, which allows for parallel processing of data.

    • Hadoop consists of HDFS for storage and YARN for resource management.

    • It is used for tasks like data warehousing, log processing, recommendation systems, and...

  • Answered by AI
  • Q2. How does Facebook Chat work?
  • Ans. 

    Facebook Chat works by using a combination of websockets, long polling, and push technology to deliver real-time messaging.

    • Facebook Chat uses websockets for real-time communication between the client and server.

    • Long polling is used to check for new messages when websockets are not supported.

    • Push technology is used to notify users of new messages even when the chat window is not open.

    • Messages are stored in a database an...

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPAFacebook interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 5 MonthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Mar 2021.

Round 1 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Easy

In first round they asked me 2 coding questions where he asked me to code as close as possible to the actual one.

  • Q1. 

    Ninja and Sorted Array Merging Problem

    Ninja is tasked with merging two given sorted integer arrays ARR1 and ARR2 of sizes 'M' and 'N', respectively, such that the merged result is a single sorted array w...

  • Ans. 

    Merge two sorted arrays into one sorted array in place.

    • Use two pointers to compare elements from both arrays and place them in the correct position in ARR1.

    • Start from the end of ARR1 and compare elements from both arrays, placing the larger element at the end of ARR1.

    • Continue this process until all elements from ARR2 are merged into ARR1.

  • Answered by AI
  • Q2. 

    Word Distance Calculation

    Given a document represented as an array/list ARR of words with length N, find the smallest distance between two given words for multiple queries. The distance is defined as the ...

  • Ans. 

    Find the smallest distance between two words in a document for multiple queries.

    • Iterate through the document array to find the indices of the two words in each query.

    • Calculate the absolute difference between the indices to get the distance.

    • If a word from the query is not present in the document, return the length of the document array.

    • Repeat the process for each query and output the smallest distance for each.

  • Answered by AI
Round 2 - Face to Face 

(2 Questions)

Round duration - 60 minutes
Round difficulty - Easy

Then in the second round they asked a little about tree and told me to code 2 codes.

  • Q1. 

    Level Order Traversal Problem Statement

    Given a binary tree of integers, return the level order traversal of the binary tree.

    Input:

    The first line contains an integer 'T', representing the number of te...
  • Ans. 

    The problem requires implementing a function to return the level order traversal of a binary tree.

    • Implement a function that takes the root of the binary tree as input and returns the level order traversal of the tree.

    • Use a queue data structure to perform level order traversal.

    • Process each level of the tree one by one, starting from the root node.

    • Print the node values at each level in the order they appear from left to ...

  • Answered by AI
  • Q2. 

    Combination Sum Problem Statement

    Given an array of distinct positive integers ARR and a non-negative integer 'B', find all unique combinations in the array where the sum is equal to 'B'. Numbers can be c...

  • Ans. 

    Find all unique combinations in an array where the sum is equal to a given target sum, with elements in non-decreasing order.

    • Use backtracking to generate all possible combinations.

    • Sort the array to ensure elements are in non-decreasing order.

    • Track the current combination and sum while backtracking.

    • Terminate recursion when the sum equals the target sum.

    • Avoid duplicates by skipping elements that have been used in previou

  • Answered by AI
Round 3 - HR 

Round duration - 30 minutes
Round difficulty - Easy

HR round with typical behavioral problems.

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 5 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed before Mar 2021.

Round 1 - Coding Test 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Medium

This was a online test round where I was given 3 DSA questions to be solved in 60 minutes.

  • Q1. 

    Count Ways to Reach the N-th Stair Problem Statement

    You are provided with a number of stairs, and initially, you are located at the 0th stair. You need to reach the Nth stair, and you can climb one or tw...

  • Ans. 

    The problem involves finding the number of distinct ways to climb to the Nth stair by taking one or two steps at a time.

    • Use dynamic programming to solve the problem efficiently.

    • The number of ways to reach the Nth stair is the sum of the number of ways to reach the (N-1)th stair and the (N-2)th stair.

    • Handle base cases for N=0 and N=1 separately.

    • Consider using modulo 10^9+7 to avoid overflow in calculations.

  • Answered by AI
  • Q2. 

    Optimal Strategy for a Coin Game

    You are playing a coin game with your friend Ninjax. There are N coins placed in a straight line.

    Here are the rules of the game:

    1. Each coin has a value associated wit...
  • Ans. 

    The problem involves finding the optimal strategy to accumulate the maximum amount in a coin game with specific rules.

    • Start by understanding the rules of the game and how players take turns to choose coins.

    • Consider the scenario where both players play optimally to maximize winnings.

    • Iterate through different strategies to determine the best approach for selecting coins.

    • Keep track of the total winnings accumulated by eac...

  • Answered by AI
  • Q3. 

    Generate All Parentheses Combinations

    Given an integer N, your task is to create all possible valid parentheses configurations that are well-formed using N pairs. A sequence of parentheses is considered w...

  • Ans. 

    Generate all possible valid parentheses configurations using N pairs.

    • Use backtracking to generate all possible combinations of parentheses.

    • Keep track of the number of open and close parentheses used.

    • Add '(' if there are remaining open parentheses, and add ')' if there are remaining close parentheses.

    • Base case: when the length of the generated string is 2*N, add it to the result array.

  • Answered by AI

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPALinkedIn interview preparation:Topics to prepare for the interview - Data Structures, Algorithms, System Design, Aptitude, OOPSTime required to prepare for the interview - 4 monthsInterview preparation tips for other job seekers

Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.

Application resume tips for other job seekers

Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.

Final outcome of the interviewRejected

Skills evaluated in this interview

Fastenal Interview FAQs

How many rounds are there in Fastenal Software Developer interview?
Fastenal interview process usually has 3 rounds. The most common rounds in the Fastenal interview process are One-on-one Round and Coding Test.
What are the top questions asked in Fastenal Software Developer interview?

Some of the top questions asked at the Fastenal Software Developer interview -

  1. puzzles Q1-> cake cutting ( 3 cuts, 8 slices) Q2 ->9 bottles, 8 same weight b...read more
  2. basic to high level oops question:( C++) i was asked to write some class and i...read more
  3. OS question difference bw multi-processing and multi-programming how would u re...read more

Tell us how to improve this page.

Fastenal Software Developer Interview Process

based on 3 interviews

Interview experience

4.7
  
Excellent
View more
Fastenal Software Developer Salary
based on 66 salaries
₹11.5 L/yr - ₹22.5 L/yr
109% more than the average Software Developer Salary in India
View more details

Fastenal Software Developer Reviews and Ratings

based on 9 reviews

3.1/5

Rating in categories

3.1

Skill development

3.8

Work-life balance

3.2

Salary

3.8

Job security

3.0

Company culture

2.8

Promotions

3.2

Work satisfaction

Explore 9 Reviews and Ratings
Software Developer
66 salaries
unlock blur

₹0 L/yr - ₹0 L/yr

Senior Software Engineer
49 salaries
unlock blur

₹0 L/yr - ₹0 L/yr

Software Engineer
31 salaries
unlock blur

₹0 L/yr - ₹0 L/yr

Developer
31 salaries
unlock blur

₹0 L/yr - ₹0 L/yr

IT Technical Lead
15 salaries
unlock blur

₹0 L/yr - ₹0 L/yr

Explore more salaries
Compare Fastenal with

Grainger

3.5
Compare

WESCO International

4.0
Compare

Rexel

4.0
Compare

Wuerth

3.7
Compare
Did you find this page helpful?
Yes No
write
Share an Interview