Backend Engineer Interview Questions

15,496 backend engineer interview questions shared by candidates

First Interview - overall explanation about the company. Second interview - They had a nice assignment to test your debugging skills in Python. the interview invite will be called "Rick and morty" if it's the same drill. You have a few methods in a Google Colab which fetches data from the Rick and Morty API (https://rickandmortyapi.com/documentation/) the background story is: The code suddenly stopped working (nothing new has been pushed) and you need to figure out why. The code fetches data about characters from Rick and Morty in 2 different ways, and compares if the result is the same. it was not, and the issue was that one of the methods used an API that uses paging, and the number of pages to query was a constant - so not all of the characters were fetched (the site had about 42 pages, while we only fetched data for 30 pages). I'm assuming they can change the issue, so here are the key principles I suggest going over: 1. Talk about the API documentation - you'll need to view it in order to see which field contains the count of characters in the given request 2. log method calls before and after execution using fstring (The interviewer thought I did not know Python because my go-to wasn't fstring) 3. The code is relatively short - i suggest you to go over the entire code before running it. I would have caught the fixed amount of pages right away 4. do it FAST, as the feedback I got was that I wasn't fast enough. here's the code: import requests BASE_URL = f'https://rickandmortyapi.com/api/character/' # https://rickandmortyapi.com/documentation def get_page(number): str_number = str(number) return requests.get(BASE_URL + '?page=' + str_number).json() def get_characters_total_number(): return get_page(1)['info']['count'] def get_all_characters(): pages_number = 30 characters = [] for page_index in range(1,pages_number+1): response = get_page(page_index)['results'] for character in response: characters.append(character['name']) return characters def verify_number_of_characters(characters): if len(characters) == get_characters_total_number(): print('all good') else: raise 'There are missing characters' def verify_number_of_characters_with_bold(characters): # please write properly print('________________________________________________') verify_number_of_characters(characters) print('________________________________________________') def insert_to_db(data): #_______starting doing something_______ # this is a wrapper method that replicate insertion to database # but for the exercise, we just print. print(data) #_______ended doing something__________ def verify_number_of_characters_with_bold_and_timer(characters): verify_number_of_characters_with_bold(characters) print(f'the fetching took:{duration} sec') if __name__ == '__main__': duration = None characters = get_all_characters() for character in characters: insert_to_db(character) verify_number_of_characters_with_bold_and_timer(characters)
Oct 7, 2024

First Interview - overall explanation about the company. Second interview - They had a nice assignment to test your debugging skills in Python. the interview invite will be called "Rick and morty" if it's the same drill. You have a few methods in a Google Colab which fetches data from the Rick and Morty API (https://rickandmortyapi.com/documentation/) the background story is: The code suddenly stopped working (nothing new has been pushed) and you need to figure out why. The code fetches data about characters from Rick and Morty in 2 different ways, and compares if the result is the same. it was not, and the issue was that one of the methods used an API that uses paging, and the number of pages to query was a constant - so not all of the characters were fetched (the site had about 42 pages, while we only fetched data for 30 pages). I'm assuming they can change the issue, so here are the key principles I suggest going over: 1. Talk about the API documentation - you'll need to view it in order to see which field contains the count of characters in the given request 2. log method calls before and after execution using fstring (The interviewer thought I did not know Python because my go-to wasn't fstring) 3. The code is relatively short - i suggest you to go over the entire code before running it. I would have caught the fixed amount of pages right away 4. do it FAST, as the feedback I got was that I wasn't fast enough. here's the code: import requests BASE_URL = f'https://rickandmortyapi.com/api/character/' # https://rickandmortyapi.com/documentation def get_page(number): str_number = str(number) return requests.get(BASE_URL + '?page=' + str_number).json() def get_characters_total_number(): return get_page(1)['info']['count'] def get_all_characters(): pages_number = 30 characters = [] for page_index in range(1,pages_number+1): response = get_page(page_index)['results'] for character in response: characters.append(character['name']) return characters def verify_number_of_characters(characters): if len(characters) == get_characters_total_number(): print('all good') else: raise 'There are missing characters' def verify_number_of_characters_with_bold(characters): # please write properly print('________________________________________________') verify_number_of_characters(characters) print('________________________________________________') def insert_to_db(data): #_______starting doing something_______ # this is a wrapper method that replicate insertion to database # but for the exercise, we just print. print(data) #_______ended doing something__________ def verify_number_of_characters_with_bold_and_timer(characters): verify_number_of_characters_with_bold(characters) print(f'the fetching took:{duration} sec') if __name__ == '__main__': duration = None characters = get_all_characters() for character in characters: insert_to_db(character) verify_number_of_characters_with_bold_and_timer(characters)

Fibonacci algorithm. write a method which will return the result by given index. for example : index- value 0-0 1-1 2-1 3-2 4-3 5-5 6-8 7-13 ... for example: when the method receives the index 6 it'll return the value: 8 the second step was to complete it by recursion. also, describe each solution complexity and running time.
avatar

Senior Backend Engineer

Interviewed at SimilarWeb

3.5
May 5, 2019

Fibonacci algorithm. write a method which will return the result by given index. for example : index- value 0-0 1-1 2-1 3-2 4-3 5-5 6-8 7-13 ... for example: when the method receives the index 6 it'll return the value: 8 the second step was to complete it by recursion. also, describe each solution complexity and running time.

The technical assessment was a small Node.js webapp where you had to download it via git and complete the parts marked with TODO in order to make the tests pass. The second item was a Postgresql question about writing a query in order to search for the top 3 companies in order to revenues but if companies shared the same revenues and more than 3 are found they should still be listed. They give you 2 hrs to finish the test
avatar

Backend Node Js Developer

Interviewed at Lumenalta

3.7
Jan 23, 2019

The technical assessment was a small Node.js webapp where you had to download it via git and complete the parts marked with TODO in order to make the tests pass. The second item was a Postgresql question about writing a query in order to search for the top 3 companies in order to revenues but if companies shared the same revenues and more than 3 are found they should still be listed. They give you 2 hrs to finish the test

The technical question was to view a merge request for a new change to an existing ruby on rails application. The merge request contained some deliberate errors, so your task is to comment on the merge request and provide feedback as you would in your normal daily routine, such as giving possible ways to solve the issues. The next step was to implement your suggested fixes and commit them back to the repository, making sure all tests pass. The other interviews with the Engineering Manager and Director of Engineering were based on the STAR method (Situation, Task, Action, and Result), including some behavioural questions. Nothing surprising here, just make sure you have a few good STAR based answers that highlight your abilities.
avatar

Backend Engineer

Interviewed at GitLab

3.5
Jul 17, 2019

The technical question was to view a merge request for a new change to an existing ruby on rails application. The merge request contained some deliberate errors, so your task is to comment on the merge request and provide feedback as you would in your normal daily routine, such as giving possible ways to solve the issues. The next step was to implement your suggested fixes and commit them back to the repository, making sure all tests pass. The other interviews with the Engineering Manager and Director of Engineering were based on the STAR method (Situation, Task, Action, and Result), including some behavioural questions. Nothing surprising here, just make sure you have a few good STAR based answers that highlight your abilities.

Viewing 2081 - 2090 interview questions

See Interview Questions for Similar Jobs

Glassdoor has 15,496 interview questions and reports from Backend engineer interviews. Prepare for your interview. Get hired. Love your job.