loading...
Cover image for A list of assignments I was given when interviewing for companies.

A list of assignments I was given when interviewing for companies.

fayaz profile image Fayaz Ahmed ・4 min read

Writing after a long break.

So I have been giving interviews for quite some time and usually it involves an assignment where they will define some requirements according to which I have to work on them and also a deadline.

Some of these are given as weekend project & some of these have been given to work right while I was being interviewed in their office.

Ofcourse, I won't be revealing the company names but I will mention the industry type of the company I was giving the interview for.

I have also listed the assignments which were difficult for me to do at the end of the article.

All of these interviews happened in Bangalore, India. So the interview process might be different in different parts of the world

1. A responsive web app which consumes an api and lists the data and also make a form and send data via a POST request.

Type: Was given to work over the weekend.

Requirements: Make this with jQuery and Bootstrap & it should handle all the edge cases like validations(without using any external library), api errors & placeholders when the api was loading. I was given 24 hours to complete this.

Role: Junior Frontend Developer

Industry: Healthcare

Status: Selected (This was my first job as a developer)


2. Convert a landing page design prototype (an invision file) to code, without using a css framework.

Type: On site

Requirements: Make this in 1 hour and I can only use pure css. I was given access to internet and they allowed me to google things.

Role: Frontend engineer

Industry: CRM and SaaS for sales teams.

Status: Selected but did not join as I found a better company to my needs.


3. Clone zoomcar (a very popular car rental service in India) webapp. It should have filtering, sorting, add price ranges, should paginate data and filters to be persistent even if move to next page.

Type: Weekend project

Requirements: Make this with vue.js and I was given an api with some data like car mileage, seats,

Role: Frontend engineer

Industry: Vernacular Platform for content writers

Status: Could not complete on time and hence was not selected.


4. Make a clone of trello and it should have cards draggable feature

Type: On site

Requirements: I can use any javascript framework, any css framework. This was a competitive interview with 4 other candidates and we were given 1 hour 30 mins to complete it.

Role: Javascript Developer

Industry: Real Estate property Listing Platform

Status: Rejected, because another developer made the clone flawlessly and my submission looked like a kid in front of it


5. Make an admin dashboard

Type: On Site

Requirements: Whatever javscript framework I can use, but they mentioned brownie points if I use react (which I didn't). An use case of Employee details platform was given. They were expecting a dashboard with data filtering and sorting and I had to decide how to visualise the data and show it in the dashboard

Role: Frontend Engineer

Industry: An HR management SaaS Portal.

Status: Rejected (Assignment was completed as requested), when asked for reason they said I did not make it scalable and my project structure was not good enough and I did not document the code properly (I think I didnt name the variables properly).


6. Make a Tic Tac Toe game

Type: On Site

Requirements: I was given as much time I want, I can use any framework and I had to make the game responsive (should look on phones too)

Role: Growth Engineer

Industry: Gaming App.

Status: Selected. I worked there as a consultant for some time.


7. Make a e-commerce platform with Vue.js

Type: Weekend Project

Requirements: A mock api was given and I had to showcase these products. They wanted animations involved in it and I was supposed to use Vue.js and Any CSS framework I am comfortable with.

Role: Frontend Engineer.

Industry: An agency which builds only e-commerce sites.

Status: Rejected, because I could not crack their technical round.


7. Make a Data Visualisation portal of Sachin Tendulkar's sports career

Type: Weekend Project

Requirements: Sachin Tendulkar is probably the best cricket player of all time and I was given a csv file to showcase the data in using Tailwind CSS and Nuxt js, the project came out very well -
Demo - https://sachintendulkar.netlify.app/stats & here is the source code.

Role: Senior Frontend Engineer.

Industry: A SaaS company which specialises in Data Visualization.

Status: Rejected, reason not mentioned.


8. Make a text analyser from a text file.

Type: Weekend Project

Requirements: Make an api with Node which accepts a text file and I was supposed to return the most repeated words in it. A huge text file (around 7 mb) was given to me as an example. Here is the code if anywants to know how I built it https://github.com/fayazara/text-analyser

Role: Full stack engineer.

Industry: A service which makes AI bots for enterprise companies.

Status: Selected.

The assignments 7 & 8 (data visualization and text analyser) were probably the most difficult to make for me personally and I completed and I am proud that I was able to complete them.

There were some other assignments as well which I think were not worth mentioning, let me know in the comments if you want those as well.

I hope beginners & people who are looking for a job will benefit from this and feel free to share some of the assignments you were given while interviewing.

Illustration by Stories by Freepik

Posted on by:

fayaz profile

Fayaz Ahmed

@fayaz

Vue, Nuxt, Node, Javascript, Mongo, Pizza.

Discussion

markdown guide
 

The thing that is annoying about this is that it is so much value that is wasted into an app that no one will use.

 

I'm currently hiring for a team (not front end).

Why do you think the time is wasted? Why do you think no-one will use the application? How else is a hiring manager supposed to judge your skill (apart from resume & your word)?

As a point of reference, I give juniors two technical questions during a Skype call. One is "fix the bugs" (spoiler, there's a missing semi-colon) and the other is "fix the bugs & optimise the solution."

That last question is a little evil really, because it's deliberately designed so that it's impossible. Test #1 proves you know the language, Test #2 tells me what you do when you don't understand how to improve something.

My senior test, is a list of maybe 7 requirements, and they're given a week before interview. People already employed that have tried the test can do it in a little over an hour & give a passable solution. Some candidates I've talked to have taken around a day (7 hours), mostly because of the "showing off" during an interview factor.

 

Glad to see the hiring process moving away from writing algorithms about prime numbers or fibonacci series (using a terrible online IDE).

Thanks. I changed it because I also hate those online IDEs.

Though I'll hold my hand up, the junior test still talks about perfect primes. But that's in test #2.

 
Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

hey boomer, chill out.

Now, see, you have me interested... your profile says you're looking for work (amongst other things). Yet you openly reply to someone that says they're hiring, with a comment like that? Why?

(I would have hit the "report abuse" button, but lets be honest, I'm perfectly chilled & your comment isn't enough to constitute "abuse" in my eyes).

 

In my opinion, the problem here is an old one: the golden hammer approach. In this case, applied to recruitment and hiring.

Technical assignments can be a valuable measure of competence. These might even be welcomed by a candidate when there is no combination of previous projects to show, references that vouch for skills, and a clear experience record. In this situation, both the employer and candidate have an even field to assess and demonstrate applied knowledge, respectively.

However, I too believe their value is overrated in many situations, especially when a good personal interview and a careful review of previous experience in the field should be sufficient.

This opinion comes from someone who has never been X years in a single industry. For me, assignments have been and still are useful. For many other folks around here, probably not so much.

 
 

I mean these projects, it's all "wasted" labor

Dude, if you had a company and you were hiring, how would you evaluate their work?

Their previous body of work + a pair programming session. These projects are just a waste of time for everyone involved.

EDIT: What I said above isn't necessarily true. If you learned something from the assignments or they're things that you can anonymize and add to your portfolio, then obviously it wasn't a waste for you.

I personally have no issues with these assignment, I find them interesting and I find so many use cases and solutions to them.

Maybe when you have like >10 years of experience, these projects dont make sense.

 

Do you think that at some level of experience you will refuse home assignments?

I am 22 years in the industry and I feel that after some point giving a 48 hours home assignment is disrespectful for your personal time (work-life balance), especially if you are working full time at another place.

 

I think they might not be necessary when you reach a certain level of experience, but the employers have no other way of evaluating interested candidates work other than giving them a task which they think the interviewees should be aware of, so I guess it's fair.

 

Whether it’s a fair examination of the candidate or not, it’s a significant amount of work. And some of these seem like the company just wanted some free coding done.

Free coding done for what? These are just make believe scenarios, I don't they wanted some "free code".

 

I have a few issues with companies handling interviews like some of these were. So much that I honestly would had told them that I don't see myself as a good fit, thanks for the opportunity, and walked away.

Example: you had 1 hour and 30 minutes to make Trello against 4 people. Unless you are interviewing to be a competitive programmer, that proves nothing. Interviews are already hard enough, turning it into a full on competition is what should not happen.

How does the person making a really good Trello clone in that time limit mean that they a good fit for the company? Did they work well with others? Do you see them working well with the current team members? There are so many questions that a competition does not answer. It is not the type of work that they will be doing for the company. And if making something in 1 hour and 30 minutes is the type of work that is happening at the company, be glad you were rejected.

I'm fine with technical assessments/problems. Though when I interview people I am not looking for the right answer. I'm looking more for how you think. What was the process like for you to solve it? I want the people I interview to work with me to solve it. To talk to me and for us to have a conversation. I learn so much more about how they work from that, than some timed competition that they must do perfectly.

 

I think it's better to be a good and productive productive programmer than to be a good fit to the company, does being a good fit make you a better programmer or something?

 

Actually, I would say that fitting in at the company can make you better.

For a few reasons:
1: if you are not happy working there, chances are your productivity will go down at some point. You will just have the mindset of just getting the job down and that's in. It'll effect your work and productivity.
2: if you fit in and are happy, chances are you enjoy who you are working with. Which means you'll probably learn from each other.

I've been in the situation before of being unhappy, and not enjoying it. It very much made me worse at my job.

Was it because of the technology stack used, or your teammates personality and tastes?

It is mostly not agreeing with how the company does things. From everything being a huge push/deadline or just feeling like you have no say and that you aren't a team member.

I have found that companies that usually do crazy coding completions or put you in a boxed time limit to complete a technical assessment usually end up running their company that way, and it kills employee morale.

I just believe you should be looking for a company where you are a team member, not just an employee. And their is a big difference between the two

 

It's up to the employer on what they decide for the interview and how they eant it to be done, and if you want the job you do what they ask you.

 

Then I guess I won't work there. There are a ton of very good companies that don't believe in competitive programming as a way to interview.

Just to clarify, I have no problem with technical assessments/challenges as interview questions. My issue is with competitive type programming and judging someone purely based on solving them correctly.

I will work where I am a member of the team. When you are interviewing for a company you should also be interviewing them and have just as many questions for them. See if you find yourself fitting in there. If I don't see that then I won't take the job.

I have personally turned down some interviews to go further because I can tell it's not a place I can see myself happy at.

I understand and I just think it's fair for the company to have the interview their way, it's up to us at the end.

Chad is not talking about whatever is fair for the company, he's talking about better ways to approach job candidates on which I completely agree.

I can assure you I'm not the best full stack developer, but beyond my decent skills, I would say my personality has opened many doors at workplaces than my skills, to the point that managers don't want to let me go, offer salary increases, and even give me side jobs after leaving the company. All that occurs because I am a team player, provide great customer service, are positive on any situation (issues) 99% of the time, have a sense of humor, doesn't get easily offended, are reliable, etc. Most of those personality traits are difficult to show when asked to code something too difficult.

 

A few thoughts, from someone who has been on both sides of the interview numerous times:

  • On-the-spot, timed exercises tell you nothing about a dev's ability. How is it that so many experienced developers in charge of such exercises fail to consider that, if you're not taking adequate time to reason about what needs to be written, you're probably writing terrible code?
  • A weekend for a take home project is crap. You have a life outside of work, and it shouldn't revolve around potential work. I insist upon giving candidates a week (including, but not limited to, a weekend) to complete a take home project, which itself is no more than a few hours of work, so they have time not only to reason about the challenge in an ongoing manager, but to do it in their spare time here and there rather then a huge chunk all at once (if they decide to do that, they're free to, but it's not required).
  • As long as they've met (or come close to) meeting the project requirements, I follow up with a code review interview. This is where you truly learn something, by making them defend their decisions (even if part of the solution was lifted from Google/Stack Overflow/GitHub, which I'm more likely to count as a positive than a strike against them - you need to know how to Google).

Furthermore, terminology quiz interviews are crap. I've seen great devs bomb (and I've bombed plenty as a candidate even when I knew all the answers, because my mind was on actual problems I was solving at my current job), and was overruled when I said they were likely the best candidate anyway. Homie don't play dat anymore.

My first round is always conversational. The more experienced the candidate is, the more it's about trading war stories. Either way, we're talking about the tech they've been working with and how it might apply to what I'm looking to hire them for (they might have a solution I never even considered), and letting them ask plenty of questions and make suggestions for what I've already got in place. This is a phone call, so they don't have to stress with a commute to an interview (I work remotely anyway, and so will they) or worry about the feeling of being in a fishbowl during a Zoom interview.

Why? Because it's a lot easier for me to detect BS if they're at ease, and conversely it gives them a chance to make their best case on their terms.

 

I guess most of these companies are startup’s in “growth phase” and they care lot more about shipping out code fast, rather than making it good. They probably don’t see any value in an Engineer thinking deeply about code structure and shipping something out over 2 days, compared to someone who gets the job done in 2 hours.

I recently saw a series of videos by DHH on how he thinks about his OO code. He goes into a detailed analysis about how a variable should be named, where it should be placed, should he use a constant, should he make it private, where should the constant be in relation to the method that uses it etc... I guess DHH would find it pretty hard to get a job in Bangalore.

 

Yes, I believe you are right, most of these companies are in their "growth phase" & I am sure DHH will bash the companies for having this kind of interview process but I guess it is up to these companies on how they want to hire their employees.

Well obviously. It's a free country. So of course they have a right to hire the way they want to.

People getting furious for some reason that "I" jad to write these assignments 😂.

 

Wow. Exactly what I feel about hiring process especially here in India.

I Wish, I see an interviewer like you soon. ❤️

 

Hmm something I haven't seen in the comments is what happens when you refuse to do the assignments for time constraint or life stuff. Is it possible to work out a smaller assignment or have them adjust it in any way? Interviews should be as transparent as the people you work with I think? Whats the worst that can happen if you don't do exactly what they are asking Interviews are two sided right?

Thanks fort the list dude!

 

PS, I have rejected assignments, during my last job hunt, I was told to build a Google Keep clone with Next.js, I said I dont have enough knowledge on react to work with, they were generous enough to offer me 7 days to complete it, but I had to reject because I was not comfortable enough to work on react.

The employer appreciated it and said he'll be looking for othet candidates

 

Ah ok cool - ya good to know. I mean the fact you have so many assignemnts means you had lots of interviews. no shortage of work in the end right? Good job guy!

A lot of people said these projects are a waste of time and resources & that the companies were just getting some free code written for them.

I would strongly disagree, I have learned a lot from them and I have used them in a lot of projects as a freelancer.

Fair enough. People gonna hate. No idea why people get so mad about these trivial things. You do you. Devs in general get a lot of choice. Choice many people will never obtain.

Keep posting dude!

 

I have mixed feelings on these assignments.

On one hand, the demand for competent software engineers is growing and growing, to the point that a bachelors degree or other qualification is often given "nice but not essential" status on position descriptions. Employers like some way to verify a candidate they like knows what they are doing, to a reasonable degree. I get that.

The issue is often time frame. Sure, if I am really keen on a job I'll put in the effort. I'll take time out to go to interviews, do phone screens and the like. But the time it takes to complete these assignments feels could be a lot, even for skilled developers.

You're handed a full-stack web application assignment on Friday afternoon to do over the weekend? What if you have a family that you'd rather spend time with and you've been working all week? How about just experiencing the outdoors? Seeing a movie? Maybe you're working through an actual bachelors degree part-time.

To reasonably expect a candidate to complete these assignments, along with possibly continuing to work their current job, I would honestly say they'd need a few weeks. A weekend timeframe might simply filter out candidates who are not workaholics who willingly neglect other aspects of their lives in order to spend the majority of their out-of-work time building applications.

I enjoy building my own applications as much as anyone. I like the feeling of building something out of nothing. But a weekend to build an API-driven responsive web app with POST requests? For a junior position? Sure, it can be done in that time, but I'd rather spend my 48 hours of non-work time at the beach or something.

A whole separate issue is when companies use these assignments to farm candidates for unpaid development work, with no intention of actually hiring.

I'd be sceptical of any company which is not OK with these assignments becoming open-source projects on the candidates own GitHub.

 

This was a great read, thanks for sharing! I've always been interested in interviewing with a company that provides the challenge of building projects like these. I've only experienced LeetCode / HackerRank type questions at interviews, which I'm not really a big fan of to be honest.

My point is, are knowing DP and binary tree manipulation important? Of course, they have many applications. But I would receive questions about these topics in interviews for webdev positions and never use my knowledge of them even once in the job. I would think that companies would be more interested in learning about my skills related to the actual job rather than how many different ways I know to determine if a string is a palindrome.

That being said, I'm still in university and have only applied for internship positions. I'm also in the US, not India. Maybe these types of project based interviews are more common for full time positions / in India? I'd be happy to hear what insights other people have on this.

 

I’ve given enough of my weekends to my current company. If any future company plans on starting the relationship with weekend work I will politely decline the remainder of the interview process.

 

I completely agree. Sadly, it’s a competitive field and there are people willing to jump through whatever hoops they have to in order to get a job. The whole industry needs to rethink the process.

 

Hi Fayaz, thanks for sharing this post 😄, i just got my very first assignment 4 days ago and time limit to complete the task was 48 hrs. i did it within 24hr and submitted the answer on github repo, i haven't got any response yet so far 😥 and as per repo's traffic statically says there were atleast 3 unique viewers. does this mean they ghosted me or somewhat?

 

It's common for employers to collect resumes and coding assignments from a bunch of candidates and then review them all at once. Maybe it's busy and they won't start reviewing them until next week. Don't give up hope yet. 🙂

 

Give it some time, if they twke more time than expected, contact and ask for an update.

 

No.3 sounds like a ridiculous amount of work for an evaluation.
You probably missed out on the Sachin Tendulkar one because the company was an Aussie company - you were supposed to use Sir Donald Bradman or Shane Warne or something as the subject. Live and learn.

 

😂.. That was actually an Indian company & they ran the show.

 

Salamalaikum ,
Helpfull
Jazakallah khair

 
 
 

Thanks Vai for such wonderful share 😀

 
 

Ah Trello one sounded very annoying to do.

 

Yup, but it was interesting.

 

Kudos to your success! These are very interesting assignments.

 
 

How did number 3 go? Are you applying to vue only shops?

 

The zoomcar clone was a very interesting project, but since this wwas during my junior dev days I was not able to complete it on time.

I was able to do the listing part and pagination, what I couldn't do was the filters part, applying multiple filters at once

 

Ah ok ok cool - ya some of these features we use 1-3 people sometimes at work to do. OR a senior. Sometimes its nice to get blown out of the water and then look back and be like, ohhh thats why I couldnt do it before; cuz i didnt understand 'this' concept or whatever

 

This is a very helpful post. Thank you!

 

I really find annoying that despite a lot of candidates has some updated side projects on github/gitlab and a some years of online documented work, they're still be asked to work on an assignments

 
 

You're welcome. Do share, if you have any of these assignments.

 

I like the Trello part , I want to try build it with React... Thanks for sharing

 

Great list. These seem to make for a very harsh interviewing setups. I guess the jobs scenario in Bangalore must be extremely tight. Congratulations on landing your job.

 

There is demand for Vuejs in India?

 

I personally prefer and look for vue js jobs.

Endless react jobs though.