Fastenal interview experience Real time questions & tips from candidates to crack your interview

Software Development

Fastenal
upvote
share-icon
3 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
I started CP in 4th semester of college. Later, I developed interest in it and started doing more and more. When internship season was about to come, and I had soo low a confidence, I started consulting seniors, who advised me to start doing leetcode also, as it is more oriented towards the OA round of internship/placement. Then I started doing leetcode and I never looked back.
Application story
email came from our placement group that the company is visiting our college along with all other details. I have applied on the website of college and later a form from company's end was circulated which included everything along with our fields of interest, After that all shortlisted candidates were given test links and test mode was online, which was conducted in CSED labs, under supervision from representatives. After OA, shortlisted candidates were called to interview the next da and then if they get shortlisted from this technical round, the 2nd tech round will be conducted online/offline, and the last round was HR/managerial round which was conducted offline. That same evening, results came and we were informed the results.
Why selected/rejected for the role?
Yes I was selected for the role. They called some specific people on interview group to our placement office and congratulated us all in person. That was very good a feeling.
Preparation
Duration: 9-10 months
Topics: data Structures, Algorithms, Dynamic Programming, Graphs, Trees, Two Pointers, Sliding Window, DBMS, OS, OOPS
Tip
Tip

Tip 1 : Be consistent in coding, dont leave and then start again
Tip 2 : try to give contests on leetcode and codeforces regularly
Tip 3 : Also focus on development part and hence, make good projects

Application process
Where: Campus
Eligibility: 7+ CPI, No backlogs
Resume Tip
Resume tip

Tip 1: Don't overfill or underfill the resume
Tip 2: It should look neat and clean, take help of seniors that are placed in good companies and ask them to review your resume as per their resume. Then make the changes as advised.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration180 mins
Interview date26 Aug 2022
Coding problem2

Timing was from 7 pm to 10 pm, it was highly supervised environment, test was of medium difficulty.

1. GCD Sum

Hard
35m average time
55% success
0/120
Asked in companies
AdobeDunzoQuikr

Consider all numbers from 1 to ‘N’, your task is to find the sum of gcd of all pairs (i, j) such that 1 <= i < j <= N.

For example for N = 3, all pairs are { (1, 2), (1, 3), (2, 3) }.

Note :

Gcd of two numbers (X, Y) is defined as the largest integer that divides both ‘X’ and ‘Y’. 
Problem approach

I used the c++ stl gcd function to solve the problem

Try solving now

2. House Robber

Moderate
26m average time
0/80
Asked in companies
SamsungAmazonQuikr

A thief wants to loot houses. He knows the amount of money in each house. He cannot loot two consecutive houses. Find the maximum amount of money he can loot.

Problem approach

Now the question is how to rob a circular row of houses. It is a bit complicated to solve like the simpler question. It is because in the simpler question whether to rob num[lo] is entirely our choice. But, it is now constrained by whether num[hi] is robbed.

However, since we already have a nice solution to the simpler problem. We do not want to throw it away. Then, it becomes how can we reduce this problem to the simpler one. Actually, extending from the logic that if house i is not robbed, then you are free to choose whether to rob house i + 1, you can break the circle by assuming a house is not robbed.

For example, 1 -> 2 -> 3 -> 1 becomes 2 -> 3 if 1 is not robbed.

Since every house is either robbed or not robbed and at least half of the houses are not robbed, the solution is simply the larger of two cases with consecutive houses, i.e. house i not robbed, break the circle, solve it, or house i + 1 not robbed. Hence, the following solution. I chose i = n and i + 1 = 0 for simpler coding. But, you can choose whichever two consecutive ones.

Try solving now
02
Round
Easy
Face to Face
Duration100 mins
Interview date27 Aug 2022
Coding problem2

1. Palindrome Partitioning

Moderate
25m average time
75% success
0/80
Asked in companies
QuikrCultfitExpedia Group

You are given a string 'S'. Your task is to partition 'S' such that every substring of the partition is a palindrome. You need to return all possible palindrome partitioning of 'S'.

Note: A substring is a contiguous segment of a string.

For Example:
For a given string “BaaB”
3 possible palindrome partitioning of the given string are:
{“B”, “a”, “a”, “B”}
{“B”, “aa”, “B”}
{“BaaB”}
Every substring of all the above partitions of “BaaB” is a palindrome.
Problem approach

Here we’re dividing the string into substrings and checking if it’s palindrome or not.
We’re storing all the palindromic substrings into a temp vector, using the help function to divide them into substrings.
In our help function our base condition if the checking index is equal to string size, that means we are at last index, so simply push back temp to our ans vector.
Else we’ll check palindrome for the rest of the string & take a loop, divide index by index and check for palindrome.
If it’s a palindrome substring then we’ll push it to ans & then we’ll call again the help function for the rest.
After the function returns we’ll pop back the element from temp, which means there is another substring that is not a palindrome.
Time complexity: O(n*2^n)

Try solving now

2. Combination Sum

Easy
15m average time
85% success
0/40
Asked in companies
UberFacebookLinkedIn

You are given an array 'ARR' of 'N' distinct positive integers. You are also given a non-negative integer 'B'.


Your task is to return all unique combinations in the array whose sum equals 'B'. A number can be chosen any number of times from the array 'ARR'.


Elements in each combination must be in non-decreasing order.


For example:
Let the array 'ARR' be [1, 2, 3] and 'B' = 5. Then all possible valid combinations are-

(1, 1, 1, 1, 1)
(1, 1, 1, 2)
(1, 1, 3)
(1, 2, 2)
(2, 3)
Problem approach

step 1 - i told the brute force approach - At each index, if the element is less than target, then we can always form a combination by picking the current element. The brute force is just based on this idea -
step 2 - i told the dp top down approach 
By drawing the recursion tree, we can see that for a target, we do the same calculations over and over again. This could be avoided by storing the number of combination obtained for a given target so that we don't waste time recalculating it at each recursion.

This can be done by maintain a dp array where dp[i] will denote the number of combinations possible with target = i. Initially, all elements in dp will be initialized to -1 denoting that the number of combinations for those target aren't calculated yet.

Once the number of combinations for subtarget = i (where 0I also took some help in between wherever i got stuck

Try solving now
03
Round
Medium
HR Round
Duration45 mins
Interview date27 Aug 2022
Coding problem2

it was a 45-50 min round, focused on my resume, and some HR questions along with built in scenarious and what will I do in those situations

1. Basic HR Questions

What type of my personality is?
Why I have this personality
Where I want to see myself in 5 yrs
What made me choose this company

Problem approach

Tip 1: be confident
Tip 2: always sound positive
Tip 3: make sure that you have eye contact and don't ever portray someone as negative person in any situation you are given.

2. Basic HR Questions

Do i like to create problem, solve them , or rather analyze the problem?

Problem approach

Tip 1: Don't think a lot, they just want your honesty
Tip 2: might be a deciding factor, that whether you will be in testing or development
Tip 3: dont panic.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
Software Developer
3 rounds | 8 problems
Interviewed by Fastenal
1508 views
0 comments
0 upvotes
Software Engineer
3 rounds | 8 problems
Interviewed by Fastenal
2771 views
1 comments
0 upvotes
Software Development
3 rounds | 12 problems
Interviewed by Fastenal
2048 views
1 comments
0 upvotes
Web Developer
3 rounds | 5 problems
Interviewed by Fastenal
756 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Software Development
3 rounds | 5 problems
Interviewed by PhonePe
12565 views
0 comments
0 upvotes
company logo
Software Development
3 rounds | 4 problems
Interviewed by Amdocs
8206 views
0 comments
0 upvotes
company logo
Software Development
3 rounds | 5 problems
Interviewed by Microsoft
1573 views
0 comments
0 upvotes