Financial Content By Macroaxis
top of page

Six Tips to Prepare for the Turing Developer Tests or Tech Stack MCQ Tests

All developers have to go through a vetting process, and take the Turing developer test and live coding challenge before joining the company. matches competent engineers with remote jobs at prominent U.S. companies using a combination of automated testing and an AI Matching Engine. This innovative skill-based vetting procedure helps Turing match the Silicon Valley vetting norms and uncover the top 1 percent of software developers globally. The AI Matching Engine (AIME) analyses developers’ technical skills, competence, and work experience based on the MCQ exams and code challenges. Following that, the engine determines which jobs are the best fit for a given candidate based on their skills and availability. What is the vetting process? The vetting process consists of four steps:

  1. Upload resume and setup profile

  2. Turing work experience survey (MCQ test)

  3. Turing tech stack tests (MCQ test)

  4. Turing live coding challenge (Real-time coding test)

What is the work experience survey?

Before the Turing live coding challenge and tech stack tests, candidates fill out a work experience survey. The work experience survey evaluates a developer’s personal and professional ethics and past work experience. It covers what a developer has encountered, observed, or felt over their work tenure in previous organizations. Simply put, the survey requires no prior preparation.

The survey aims to get a comprehensive view of a candidate’s professional relationship with the organization, from the day they applied for the job to the day they leave.

It consists of fifty-seven questions. The estimated time to complete the survey is 20-30 minutes although the allocated time is 60 minutes. work experience survey: Sample questions

Question 1: How do you know what you need to improve (tech skills, tech skills, etc.) to get to the next level?

Answers (Choose one)

  • I don’t know

  • Sometimes, my manager and other seniors give me feedback

  • People tell me through 1-1 meetings (with peers, the tech lead, and the manager)

  • I actively ping other people to know what I need to improve and how to do it

  • I provide expectations as well as detailed steps on how to achieve them to people in my team

Question 2: How do you learn new technologies?

Answers (Choose one)

  • I teach myself how to develop applications with new technologies from scratch

  • I study the trade-offs of each technology and determine when to use it

  • I research new technologies based on the current issues in my team and decide how to use them with my colleagues

  • I focus more on new system architectures and design patterns

Question 3: How do you assess the severity of bugs in your team?

Answers (Choose one)

  • Other people do that for me

  • I assess the severity by evaluating the impacts on user experience

  • We have clear metrics to evaluate the severity of bugs

  • I use my knowledge of the core metrics of the team and the company to assess the severity of bugs

Question 4: What do you do to improve your code quality?

Answers (Choose one)

  • Write more code and ask for code reviews

  • Follow the best practices of the technology

  • Learn from seniors in the team and ping people to collect feedback

  • I define coding convection and standards for the team

Question 5: How do you know if you get positive/negative results?

Answers (Choose one)

  • Other people let me know

  • I define success metrics before working on tasks

  • I ask for feedback from other people

  • I define success metrics before working on tasks and have AB tests to compare the results

What are the tech stack tests?

Before the Turing live coding challenge, candidates appear for tech stack tests. The Turing tech stack MCQs (multiple choice questions) assess your knowledge of several topics. And hence, you should know the fundamentals of your subject or tech stack well before taking these Turing developer tests.

The estimated time to complete these tests varies between 45 – 120 minutes.

Each MCQ comes with four different options as answers. Some MCQs may have just one correct answer, whereas some may have multiple correct answers.

Remember, the options for some questions may sound remarkably similar at times. Ensure that you read and understand the question carefully before answering it.

You may be required to answer questions based on codes, definitions, hypotheses, cases, and fundamentals of your subject during the Turing developer tests.

How to prepare for the Turing MCQ tests or the Turing developer tests?

Here are a few pointers to consider while preparing for the Turing developer tests.

  • Go through the references mentioned in the ‘Useful Resources’ section.

  • Take careful notes while studying. You can learn and retain the content better for the exam if you have well-organized notes.

  • Memorize short definitions, symbols, and use cases, make flashcards.

  • Give yourself enough time to study. Use your weekdays for reading and weekends for practice.

  • Set a goal for each study session to keep track of what you’re learning or revising.

  • Staying up all night will just make you more anxious. Revise what you’ve learned rather than trying to cover everything in the curriculum a day before the exam. Ensure you get a good night’s rest.

  • Turing developer tests can be hard so if you come across blockers while studying, don’t be afraid to seek assistance. Speak with your mentor, instructor or friend to better understand the subject.

Important instructions for the Turing developer tests

  • In Turing developer tests or MCQ tests, candidates often lose marks due to misinterpreting the question. Pay close attention to instructions.

  • Make sure you understand whether the question has only one correct answer or if multiple responses are possible.

  • Be mindful of coding elements such as brackets, parentheses, dots, and spaces.

  • Cover the options shown on the screen while reading the question, if possible, and come up with your answer before looking at the options. If you see your intended answer in the list, mark it and double-check that none of the other options is correct.

  • If you don’t find your intended answer in the list, try following these steps:

    • Ensuring that the core meaning of the question remains intact, rephrase the question.

    • Think of each option as a true or untrue statement.

    • Keep an eye out for qualifiers that could throw you off.

  • Above all, don’t give up. With so many questions in these Turing developer tests, it’s important to stay focused and keep moving forward.

What happens if you fail the Turing tech stack tests?

Don’t worry even if you fail the tests. Turing allows remote developers to retake the test if they fail to clear it in three months after their unsuccessful attempt. Developers can use this three-month period to sharpen the relevant skills and technical knowledge.

Useful resources for the Turing tech stack tests and Turing live coding challenge:

  • Coursera

  • Hackerrank

  • Codility

  • Khan Acadamy

  • Data structures and algorithms

  • System Design

  • OOP & Design Patterns

  • Git tech stack tests: Sample questions

– Sample questions from the React JS stack test

Question 1: Give the following code… class SampleComponent extends React.Component {

handleClick(id) {

//do stuff with id


render() {




What is the correct way to pass the parameter id to handleClick?

Answers (Choose one)

  • <button onClick={() => this.handleClick(id)} />

  • <button onClick={this.handleClick(id)} />

  • <button onClick={this.handleClick.bind(id)} />

  • <button onClick={this.handleClick.bind(this, id)} />

Question 2: Which of the following are pointer events that are available in ReactDOM?

Answers (Choose one)

  • onPointerTouchMove

  • onGotPointerCapture

  • onLostPointerCapture

  • onPointerTouchUpOutside

  • onPointerTouchUpInside

– Sample questions from the React Hooks stack test

Question 1: You are using React Hooks to develop a Turing system. How can you fetch data with it?

Answers (Choose one)

  • Call API to fetch data in useState hook

  • Using useEffect Hook to fetch data

  • Call API in useReducer

  • Using useLayoutEffect(() => {…}, []) to fetch data

Question 2: You are a ReactJS developer at Turing. Please point out the correct statement about useState in React Hooks.

Answers (Choose one)

  • useState is a Hook that lets you add React state to function components

  • argument in useState is the initial state

  • useState returns is pair containing the current state and a function to update it

  • useState is a function

  • All of above

– Sample questions from the Python stack test

Question 1: What is the output of the following Python code snippet?



z.update(set([‘p’, ‘q’]))


Answers (Choose one)

  • {‘abc’, ‘p’, ‘q’, ‘san’}

  • {‘a’, ‘b’, ‘c’, [‘p’, ‘q’], ‘san}

  • {‘a’, ‘c’, ‘c’, ‘p’, ‘q’, ‘s’, ‘a’, ‘n’}

  • {‘a’, ‘b’, ‘c’, ‘p’, ‘q’, ‘san’}

Question 2: You are a Python developer at Turing. You want to merge two list l1 = [1,2,3,4] l2 = [5,6,7]

Answers (Choose one)

  • result = l1 + l2

  • result =extend(l1,l2)

  • result =l1.extends(l2)

  • l1.append(l2)

– Sample questions from the Node JS stack test

Question 1: Which of the following is true about the EventEmitter.on the property?

Answers (Choose one)

  • The .on property is used to fire events.

  • The .on property is used to bind a function with the event.

  • The .on property is used to locate an event handler.

  • None of these

Question 2: Although JavaScript is single-threaded, what allows you to perform non-blocking I/O operations by offloading operations to the system kernel whenever possible?

Answers (Choose one)

  • REPL

  • Timers

  • Poll

  • Process

  • Event Loop

– Sample questions from the Django stack test

Question 1: You are building a Turing system with Django. Following source code urlpatterns = [ url(r’^admin/’,, url(‘turing/’, include(‘turing.urls’)), url(‘companies/’, include(‘companies.url’)) ] What happening if skipping the trailing/splash?

Answers (Choose one)

  • Syntax error

  • Django will display 404 page

  • Django will match with Turing/ pattern

  • None of above

Question 2: Which validator is not the default Password Validators in Django?

Answers (Choose one)

  • MinimumLengthValidator

  • NumericPasswordValidator

  • MaximumLengthValidator

  • CommonPasswordValidator

– Sample questions from the DevOps stack test

Question 1: Which Git command changes where the HEAD pointer points and modifies the contents of the working directory?

Answers (Choose one)

  • checkout

  • merge

  • pull

  • mv

  • none of the above

Question 2: Given the text below: “Whether you think you can or think you can’t – you are right.” — Henry Ford (1863 – 1947) Using the regex pattern you.*n , gives you:

Answers (Choose one)

  • you think you can or think you can

  • you think you can or think you can’t

  • you think you can

  • you can or think you can

– Sample questions from the iOS Swift stack test

Question 1: let x: String?? = .some(nil)

let outputX = (x ?? “inner”) ?? “outer”

let y: String?? = nil

let outputY = (y ?? “inner”) ?? “outer”

let string = “\(x) \(y) \(outputX) \(outputY)”

What is the value of a string?

Answers (Choose one)

  • nil inner inner

  • nil nil inner inner

  • Optional(nil) nil inner inner

  • Optional(nil) nil outer inner

  • error: member ‘some’ in ‘String??’

Question 2: extension CGSize { mutating func scale(by f: CGFloat) { width *= f height *= f } } let s = CGSize(width: 100, height: 100) s.scale(by: 2) s.scale(by: 2) s.width += 100 What is the value of s?

Answers (Choose one)

  • (100.0, 100.0)

  • (200.0, 200.0)

  • (400.0, 400.0)

  • (500.0, 400.0)

  • Compiler error

– Sample questions from the WPF stack test

Question 1: What is the correct answer about the target of WPF transformations?

Answers (Choose one)

  • On skewing

  • Only scaling

  • Only rotation

  • translate

  • rotation, scaling and skewing

Question 2: Which of the following is a correct statement about Exception in WPF?

Answers (Choose one)

  • Exceptions can transfer the flow of a program from one part to another

  • Exceptions should be used as a “last line of defense” for user error.

  • You can handle the global exceptions by Application.DispatcherUnhandledException

  • All of above

– Sample questions from the Spring Boot stack test

Question 1: Which of the following is not TRUE about Spring Boot Devtools?

Answers (Choose one)

  • By default, DevTools applies properties suitable to a development environment.

  • Applications using DevTools restart whenever a file on the classpath changes

  • The spring-boot-devtools module is automatically disabled if the application runs in production

  • The spring-boot-devtools is a tool that monitors the health of a system that contains CPU, RAM, metric… information

  • Static resources, including view templates, don’t set off a restart if the LiveReload extension is installed in the browser to interact with the embedded LiveReload server that DevTools contains

Question 2: You are a developer at Turing. You need to register a custom Auto-Configuration. How can you do it?

Answers (Choose one)

  • Using @Component annotation. It will auto-load when the application started.

  • Using @EnableAutoConfiguration annotation.

  • Having auto-configuration class fully-qualified name listed under the EnableAutoConfiguration key in the META-INF/spring.factories file

  • All of above

– Sample questions from the Golang stack test

Question 1: Fill in the blanks for lines marked with A and B, to ensure that the printed output is “foo” package main type S struct { m string } func f() *S { return __ // A } func main() { p := __ // B print(p.m) //print “foo” }

Answers (Choose one)

  • “foo”, f()

  • &S{“foo”}, f()

  • *S{“foo”}, f()

  • Compilation error

Question 2: Assume x is declared and y is not declared. Which of the following clauses are correct? Choose all the correct answers.

x, _ := f() //A x, _ = f() //B x, y := f() //C x, y = f() //D

Answers (Choose one)

  • A

  • B

  • C

  • D

So, what should you remember while preparing for the Turing developer tests?

As you know by now, the Turing survey aims to gauge a developer’s work experience through objective questions. And so, you don’t need to prepare or study for this survey. Just ensure that you’re honest with your answers.

The Turing tech stack tests or the Turing developer tests distinguish great developers from good ones. Naturally, these tests require a healthy amount of preparation.

Don’t wait for the last moment to start studying for the tests. Follow the pointers mentioned in the ‘How to prepare for the Turing MCQ tests or the Turing developer tests?’ section.

Reach out to us at if you have any doubts about the Turing developer tests. We hope the insights shared in this blog post help you ace your Turing tests. Good luck!

3 views0 comments


bottom of page