Interview - Refrens Internet Pvt. Ltd.

refrens internet pvt. ltd. logo
refrens internet pvt. ltd.
· software developer intern· No Offer
June 24, 2023 · 53 reads

Summary

I interviewed for a Software Developer Intern position at Refrens Internet Pvt. Ltd. The hiring process involved a technical screening with an assignment, followed by two technical interviews. I successfully cleared the first technical round but was not selected after the second.

Full Experience

Assignment

The hiring process for the Software Developer Intern role at Refrens Internet Pvt. Ltd. started with a technical screening that included an assignment. For this, I had to develop a React application using the Rick and Morty API. After submitting my solution, I received a call from HR to schedule my first technical interview.

Technical Interview 1 (Positive Experience, Medium Difficulty)

This round began with my introduction, where I spoke about my projects, programming languages, and current tech stacks. The interview then moved into coding and conceptual questions:

  • Coding Question (DSA): I was asked to implement the classic FizzBuzz problem.
  • Frontend Question: I had a question related to implementing a useToggle hook in React, similar to what's found on Learnersbucket.
  • JavaScript Concepts: Questions covered the Document Object Model (DOM) and Browser Object Model (BOM), and how to modify the DOM. I was also asked to explain Promises, demonstrate how to implement a sleep function using them, and discuss the purpose and benefits of using async and await.
  • React & JS Differences: We discussed the fundamental differences between React.js and JavaScript, whether React.js is considered a framework or a library, and the general distinction between frameworks and libraries.
  • OOP & JS: I was asked about the concepts of 'states' and 'classes', and whether JavaScript is considered an Object-Oriented Programming (OOP) language.
  • Basic JS: A basic question on how to find the length of an array in JavaScript was also posed.

The interviewer also elaborated on the perks of using JavaScript, using an example that involved the var keyword.

Behavioral Questions (Technical Interview 1)

Toward the end of the first round, I was asked a couple of behavioral questions:

  • How I would manage remote working effectively compared to an office environment.
  • My approach if there were two different ways (mine and a colleague's) to solve a task within a team.

I successfully qualified for the second technical round after this interview, which was a positive experience for me.

Technical Interview 2 (Average Experience, Medium Difficulty)

This round started with a brief discussion about my performance in the previous round. The focus then shifted to more advanced JavaScript concepts and object-oriented programming:

  • Coding Question (OOP): I was given a problem involving finding the differences between two objects based on their keys and values. I also had to demonstrate how changing a key-value in one object (a copy) would not affect the original, illustrating the concept of a deep copy.
  • JavaScript Concepts: The interviewer again asked me to explain Promises, higher-order functions, and the differences between shallow and deep copy. Concepts like pass by reference vs. pass by value, JSON.stringify(), and the reduce and assign functions were also discussed.

The interviewer suggested I review MDN JavaScript documentation for better conceptual clarity. Unfortunately, I was not selected after this round, making the overall experience average.

Interview Questions (19)

1.

FizzBuzz Sequence

Data Structures & Algorithms·Easy

Write a program that prints numbers from 1 to n. For multiples of three, print 'Fizz' instead of the number. For multiples of five, print 'Buzz'. For numbers which are multiples of both three and five, print 'FizzBuzz'.

2.

Implement useToggle React Hook

Other

Implement a custom useToggle React hook. This hook should provide a way to toggle a boolean state value.

3.

DOM and BOM Concepts

Other

Explain the Document Object Model (DOM) and Browser Object Model (BOM). Describe how to modify the DOM.

4.

Promises, Async/Await, and Sleep Function

Other

Explain JavaScript Promises. How can a sleep function be implemented using Promises? Discuss the purpose and usage of async and await keywords in conjunction with Promises.

5.

React.js vs JavaScript

Other

Explain the fundamental differences between React.js and JavaScript.

6.

React.js: Framework or Library?

Other

Is React.js considered a framework or a library? Justify your answer.

7.

Framework vs. Library

Other

Explain the distinction between a software framework and a software library.

8.

States and Classes (React/JS)

Other

Explain the concepts of 'states' and 'classes' in the context of JavaScript, potentially relating to React.

9.

JavaScript and OOP

Other

Is JavaScript considered an Object-Oriented Programming (OOP) language? Explain why or why not.

10.

Array Length in JavaScript

Other·Easy

How do you determine the length of an array in JavaScript?

11.

Managing Remote Work

Behavioral

Describe your approach to managing remote work effectively compared to working from an office.

12.

Conflict Resolution in Team Task

Behavioral

If there are two different approaches (yours and a colleague's) to solve a task, how would you handle the situation and resolve the difference?

13.

Object Difference and Deep Copy

Data Structures & Algorithms

Given two JavaScript objects, find and print their differences based on keys and values. Additionally, demonstrate how changing a key-value in one object (a copy) does not affect the original object, implying a deep copy scenario.

14.

Explain Promise

Other

Explain JavaScript Promises.

15.

Higher-Order Functions

Other

Explain what Higher-Order Functions are in JavaScript.

16.

Shallow Copy vs. Deep Copy

Other

Explain the difference between shallow copy and deep copy in programming, particularly in JavaScript context.

17.

Pass by Reference vs. Pass by Value

Other

Explain the concepts of pass by reference and pass by value in programming.

18.

JSON.stringify()

Other

Explain the purpose and usage of JSON.stringify() in JavaScript.

19.

Array.prototype.reduce() and Object.assign()

Other

Explain the reduce method for arrays and Object.assign() function in JavaScript.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!