Each Triplebyte assessment evaluates specific skill areas across different engineering disciplines. Each candidate will have scores for some of these skill areas, depending on the assessments they've taken. Here's a comprehensive overview of all the different skill areas we assess:
General Fundamentals
Algorithms & Data Structures Score
This score indicates a candidate’s knowledge of algorithms and data structures. Candidates are asked questions about the behavior and use-cases of common algorithms and about the data structures that support them. They’re also asked to answer questions on computational complexity, like whether an algorithm has O(log n) or O(n) runtime or space requirements.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
This candidate performed exceptionally well on our algorithms and data structures questions. They have an excellent understanding of common algorithms and their behavior. | This candidate has a very strong knowledge of algorithms and data structures. They’re comfortable even with mildly obscure algorithms and more difficult complexity analysis, with only a few gaps. | This candidate has a solid knowledge of algorithms and data structures. They recognize use cases and know the computational complexity of common operations, possibly with a few gaps. |
General Coding Logic Score
This score indicates a candidate’s ability to read and analyze code written by someone else. Candidates do not write code on this quiz. Instead, we may ask them to fill in a missing line of code, to describe what a block of code does, or to say why a block of code does not do what it is intended to do.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
This candidate performed exceptionally well on our code analysis tasks. They can easily read code written by someone else without significant error. | This candidate is very effective at analyzing code written by someone else. They make at most small mistakes and can easily identify the intended behavior of most code blocks and detect even uncommon types of bug. | This candidate can effectively analyze code written by someone else. They make small to medium-size errors in doing so, but they can understand the function of most code blocks and identify and fix common types of bug. |
Engineering Subfields
Back-end Score
This score indicates a candidate’s conceptual understanding of general back-end development, independent of any particular tech stack. They’re asked questions about things like databases, API endpoints, and common architectural components.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
This candidate performed exceptionally well on our back-end questions. They have an excellent understanding of the fundamentals of back-end development. | This candidate has a very strong knowledge of back-end fundamentals. They’re comfortable with databases, servers, and basic to intermediate architecture, and could be trusted to build a back-end of moderate complexity themselves. | The candidate understands how to build a web application, and they are able to identify common performance issues. They are comfortable with basic solutions like caching and distributed databases, but may not be familiar with more complex architecture elements like load balancers or CDNs. |
Front-end Score
This score indicates a candidate’s conceptual understanding of general front-end development, independent of any specific framework. They’re asked questions about things like styling and how JavaScript interacts with the DOM of a web page. This content does not focus on the details of JavaScript as a language, which are covered in more detail on our JavaScript language quiz.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
This candidate performed exceptionally well on our front-end questions. They have an excellent understanding of the fundamentals of front-end development. | This candidate has a very strong knowledge of front-end fundamentals. They're comfortable with the underlying concepts behind front-end frameworks and with common elements like styling needed by every front-end engineer. | This candidate has a solid knowledge of front-end fundamentals. They understand the basics of styling and the DOM, enough to understand the underlying implementations behind frameworks. |
Machine Learning Score
This score reflects a candidate’s understanding of the concepts of ML engineering in production. It’s determined by their performance on questions that assess both theoretical knowledge and practical use of common model types, mathematics concepts from multivariate calculus and linear algebra, and real-world deployment concerns.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an extremely strong understanding of both basic and advanced ML engineering concepts. They are knowledgeable when it comes to translating complex ML theory into practice, and they are well-versed in the related mathematical concepts of linear algebra and multivariate calculus. They demonstrate excellent understanding of how to build and maintain robust models that can handle real-world problems. | The candidate displays a solid foundation in ML engineering concepts, and their knowledge of the underlying theory and mathematics allows them to smoothly execute everyday ML engineering tasks. They are able to offer crisp technical explanations for how and why models work on a theoretical level, and they easily describe real-world solutions to problems like overfitting and data drift. They may have a few small knowledge gaps here and there, but their ML foundation is quite sound. | The candidate is comfortable with basic ML engineering concepts and the underlying theory and core concepts from linear algebra and multivariate calculus. They are able to define and describe common model types and can offer solutions to typical problems like overfitting and data drift. Their understanding may be vague or incomplete but is reasonably accurate. They show the ability to validate a simple model in a real-world context. |
iOS Knowledge Score
This score reflects a candidate’s understanding of the iOS ecosystem, including core iOS APIs and platform-specific tools. Topics on this quiz contain questions that assess both theoretical and practical knowledge of iOS tools, architecture, performance, and troubleshooting.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays strong theoretical knowledge of and practical expertise in iOS native development from the simple to the complex. They demonstrate a deep understanding of a wide range of UI development tools, iOS data persistence methods, and memory management techniques. They can create highly-performant, responsive iOS apps and handle advanced profiling and troubleshooting. | The candidate is well-versed in native iOS development, along with both the underlying theory and practical application of Objective-C/Swift and of the iOS platform itself. They understand iOS data persistence methods, memory management, and performance profiling and troubleshooting, and they are comfortable using a range of UI development tools to create a responsive UI. They may not know all the details of advanced performance optimizations, but can clearly articulate tradeoffs between different libraries and tools. They display the ability to translate theoretical knowledge into practical solutions that are close to optimal. | The candidate is comfortable with native iOS development and Objective-C or Swift. They understand how to use common UI development tools and display a solid foundation in performance profiling and troubleshooting. They show markers of real-world app design experience, but lack the advanced knowledge necessary to fix very subtle bugs or squeeze out maximum performance. They are likely able to build simple iOS apps on their own, but may make a few design errors. |
Android Knowledge Score
This score reflects a candidate’s understanding of the Android ecosystem, including core Android APIs and platform-specific tools. Topics on this quiz contain questions that assess both theoretical and practical knowledge of Android tools, architecture, performance, and troubleshooting.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays strong theoretical knowledge and practical expertise in Android native development from the simple to the complex. They demonstrate a deep understanding of a wide range of UI development tools, Android data persistence methods, and memory management techniques. They can create highly-performant, responsive Android apps and handle advanced profiling and troubleshooting. | The candidate is well-versed in native Android development, along with both the underlying theory and practical application of Java/Kotlin and of the Android platform itself. They understand Android data persistence methods, memory management, and performance profiling and troubleshooting, and they are comfortable using a range of UI development tools to create a responsive UI. They may not know all the details of advanced performance optimizations, but can clearly articulate tradeoffs between different libraries and tools. They display the ability to translate theoretical knowledge into practical solutions that are close to optimal. | The candidate is comfortable with native Android development and has at least a working knowledge of Java or Kotlin, especially as they relate to Android development. They understand how to use common UI development tools and display a solid foundation in performance profiling and troubleshooting. They show markers of real-world app design experience, but lack the advanced knowledge necessary to fix subtle bugs or squeeze out maximum performance. They are likely able to build simple Android apps on their own, but may make a few design errors. |
Dev Automation Score
This score reflects a candidate’s knowledge of dev automation tools, especially in the context of continuous integration. It covers common services like Jenkins, Travis, and CircleCI, git and ssh, and best practices and security for dev pipelines.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate has an expert-level understanding of CI/CD. Can troubleshoot effectively and is exceptionally comfortable with designing, implementing, and maintaining effective automation solutions.
|
The candidate has strong working knowledge of assisting developers and automation tools. They can assist and manage a small development team and help automate their software development lifecycle. |
The candidate can effectively provide help to developers and aid in automating processes unassisted. Is lacking in some of the more advanced knowledge of git, scripting, and deployments.
|
Distributed Computing Score
This score reflects a candidate’s conceptual knowledge of distributed computing, especially in the context of service-oriented architecture. They’re asked questions about common cloud hosting offerings, Docker and Kubernetes container orchestration, and messaging and resource management between services.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate has an expert level understanding of Kubernetes as well as other popular solutions. They are able to troubleshoot effectively and are extremely comfortable with designing, implementing, and maintaining highly available and scalable solutions.
|
The candidate has a strong working knowledge of deploying various types of distributed computing (serverless, Kubernetes, clusters, etc.) and has used many of the popular tools to maintain them. They are able to design a production system and keep it secure. |
The candidate is able to deploy and maintain some simple distributed computing systems, but they are lacking in some of the more advanced techniques and tooling (e.g. production quality Kubernetes or serverless solutions).
|
Data Warehousing/ETL Score
This score reflects a candidate’s knowledge of data warehousing and ETL ("extract, transform, load") tasks. It asks questions about data parsing and initial storage, scheduling and orchestration, processing approaches (e.g. batch vs streaming), auditability, data marts, and data modeling concepts like star schemas and slowly changing dimensions. It does not assume the use of any specific frameworks.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate has a high level understanding of performance optimization, dimensional modeling, OLAP (On-Line Analytical Processing), types of tables, and their use cases; they can perform data quality checks, standardize data, and understand the architecture; they are aware of the latest developments in this field such as data lakes, data lake houses, and other cloud based data warehousing tools. They may struggle with types of batch architectures and picking the right scheduling job. |
The candidate has a strong knowledge of data warehousing stages, including correctly building datamarts/Enterprise Data Warehouses. They may struggle with design concepts such as slowly changing dimensions and scheduling the right process.
|
The candidate has a working knowledge of ETL pipelining and data warehousing; they have a basic understanding of data partitioning, caching, and parallel processing; they understand table dimensions and facts. They may struggle with data granularity, OLAP vs. OLTP and design concepts.
|
Specific Technologies
Go Knowledge
This score reflects a candidate’s understanding of Go syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but rather focuses on the features that distinguish Go implementations from implementations in other languages.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an excellent knowledge of Go-specific features. They’re deeply familiar with Go’s syntax and major features and are up to date on its general ecosystem and many of its advanced features. | The candidate displays a strong knowledge of Go-specific features. They’re completely comfortable with Go’s syntax, typing, and approach to polymorphism, and they’re likely familiar with a few advanced features as well. | The candidate displays intermediate knowledge of Go-specific features. They’re comfortable with basic to intermediate syntax and are somewhat familiar with more advanced topics like Go concurrency primitives. They know enough Go to implement everyday business logic sensibly. |
Java Knowledge
This score reflects a candidate’s understanding of Java syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but rather focuses on the features that distinguish Java implementations from implementations in other languages.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an excellent knowledge of Java-specific features. They’re deeply familiar with Java’s syntax, standard library, and advanced features, and they’re broadly familiar with the Java ecosystem as a whole. | The candidate displays a strong knowledge of Java-specific features. They’re completely comfortable with Java syntax and have at least passing familiarity with even moderately obscure parts of its standard library. | The candidate displays intermediate knowledge of Java-specific features. They’re comfortable with basic to intermediate syntax and everyday standard library functions. They know enough Java to implement typical business logic sensibly. |
JavaScript Knowledge
This score reflects a candidate’s understanding of JavaScript syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but rather focuses on the features that distinguish JavaScript implementations from implementations in other languages.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an excellent knowledge of JavaScript-specific features. They’re deeply familiar with JavaScript’s syntax and major features and are up to date on its general ecosystem and many of its advanced features. | The candidate displays a strong knowledge of JavaScript-specific features. They’re completely comfortable with JavaScript syntax and common tools like Promises or prototypes, and they’re likely familiar with a few advanced features as well. | The candidate displays intermediate knowledge of JavaScript-specific features. They’re comfortable with basic to intermediate syntax and are somewhat familiar with more advanced topics like closures. They know enough JavaScript to implement everyday business logic sensibly. |
Python Knowledge
This score reflects a candidate’s understanding of Python syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but rather focuses on the features that distinguish Python implementations from implementations in other languages.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an excellent knowledge of Python-specific features. They’re deeply familiar with Python’s syntax, standard library, and some advanced features, and they’re familiar with the general Python ecosystem as a whole. | The candidate displays a strong knowledge of Python-specific features. They’re completely comfortable with Python syntax and have at least passing familiarity with all or almost all of its standard library features and some of its major libraries and frameworks. | The candidate displays intermediate knowledge of Python-specific features. They’re comfortable with basic to intermediate syntax and are familiar with at least some more advanced features. They know enough Python to implement everyday business logic sensibly. |
React Knowledge
This score reflects a candidate’s understanding of React (as distinct from general JavaScript or front-end development). It tests basics like creating components and props, managing state, and event handling, and continues to more advanced topics like performance profiling and hooks.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate has an expert-level understanding of performance optimization, state-management, side-effect handling, and component composition. | The candidate has a strong knowledge of functional state-management, including proper handling of side effects in a wide variety of situations, including reducer-based state management architectures and custom hooks. | The candidate has a working knowledge of component composition, and has a basic knowledge of functional state-management, common APIs, and third-party libraries. The candidate can use hooks, but may not understand effect-handling well enough to write non-trivial custom hooks. |
Rust Knowledge
This score reflects a candidate’s understanding of Rust syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but rather focuses on the features that distinguish Rust implementations from implementations in other languages.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate displays an excellent knowledge of Rust-specific features. They’re deeply familiar with Rust’s syntax and major features and are up to date on its general ecosystem and many of its advanced features. | The candidate displays a strong knowledge of Rust-specific features. They’re completely comfortable with Rust syntax and with Rust’s safety guarantees, and they’re likely familiar with a few advanced features as well. | The candidate displays intermediate knowledge of Rust-specific features. They’re comfortable with basic to intermediate syntax and are somewhat familiar with more advanced topics like traits and lifetimes. They know enough Rust to implement everyday business logic sensibly. |
Linux CLI Score
This score reflects a candidate’s familiarity with the Linux command line, which is frequently used for system administration. They’re asked questions about common commands (e.g. `ls`, bang lines) with a focus on resource and connection management (e.g. `lsof`, `vmstat`, `tcpdump`).
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate has an expert-level understanding of the Linux CLI. They can troubleshoot effectively, and they are highly comfortable using more advanced features and commands. |
The candidate has strong working knowledge of the Linux CLI and can be an effective system administrator.
|
The candidate can assist others in using the Linux CLI, but they lacks some of the more advanced knowledge of system administration.
|
C++ Score
This score reflects a candidate’s understanding of C++ syntax and language features like pointers and memory management. It doesn’t test general coding logic, which is covered on other assessments, but instead focuses on C++ specific topics.
Level 5: Expert | Level 4: Advanced | Level 3: Proficient |
The candidate can optimize some STL containers and functions for better performance in specific problems. They know a little about the esoteric behaviors of some concepts mentioned. They know a lot about the thread lib in STL and are extremely familiar with applying this during their projects. They are familiar with most concepts of modern C++ that appeared to help accelerate development. They study new functions/containers continuously. They can debug adequately and fast, profile the code with valgrind and gperftools, and use massif and some of the available sanitizers. They are familiar with the underlying operations during C++ compilation and linking.
|
The candidate knows how to use all basic concepts fluently together with good software development practices like modularization, application of design patterns, and optimizing the code in time and memory consumption. They know the advantages of smart pointers and are comfortable with their usage. They understand how the stack and heap works. Instead of many specialized functions, they can make templates and use them in their projects. They know the concept of lvalue and rvalue and try to optimize the code to copy as little data as possible while making the code readable and reusable. They understand how STL tools help in the development of multi-threading solutions. They are familiar with lambda functions. They can run valgrind and check for memory leaks. They understand the basics of profiling the code using memcheck or gperftools. They know the basics of how the compiler and linker work internally. |
The candidate knows some peculiarities from the basic concepts in addition to what the Level 1 candidate knows. They are familiar with Maps, Sets, Hash Tables, Heaps, Queue, and Stacks. They know the time and space complexity of some container operations and how to adequately apply these structures to the problems they encounter. They know how to create smart pointers and the basics of using them. They know std::sort and one or another algorithm from
|
Legacy Scores
These scores were earned as part of discontinued assessments that are no longer available for candidates to take in the Assessments Library.
General Coding Productivity
This score reflects how quickly a candidate writes functioning code, regardless of quality or cleanliness. It reflects their progress on our generalist coding tasks, which focus on common and task-agnostic programming tasks like class definitions, arrays, string handling, and control flow.
Front-end Coding Productivity
This score reflects how quickly a candidate writes functioning code, regardless of quality or cleanliness. It reflects their progress on our front-end coding tasks, which involve the creation of a simple dynamic web page using a framework of the candidate’s choice (typically React, Angular, or Vue).
Full-Stack Architecture
This score reflects a candidate’s understanding of full-stack architecture principles. It includes general knowledge of modern back-end web technologies, front-end architectural components, front-end build pipelines, and a candidate’s ability to organize them to create a larger application. It’s determined by their performance on questions that range from simple MVP designs to complex performance and deployment concerns. It does not measure detailed knowledge of how each component works internally, but rather whether the candidate is familiar with various components and how to use them in the abstract.
Back-End Architecture
This score reflects a candidate’s understanding of web system design principles at an architectural level. It includes knowledge of modern web technologies and the ability to organize them into a whole application. It’s determined by their performance on questions that range from simple MVP designs and deployment to infrastructure and scaling of large systems. It does not measure detailed knowledge of how each component works internally, but rather whether the candidate is familiar with various components and how to use them. For example, this score evaluates whether a candidate knows how to incorporate a database into a web application, but not how databases work internally (which is covered during the back-end web knowledge material).
ML Architecture & Deployment
This score reflects a candidate’s understanding of API design and production-level machine learning concepts. It measures their ability to design and productionize a model from requirements, then deploy and maintain that model in production. It’s determined by their performance on questions that range from simple model design to more complex system design and infrastructure concerns.
ML/Data Coding Productivity
This score reflects a candidate’s performance on two data science and ML-related coding tasks. For the first task, we ask them to build a basic ML model from spec without using prefab ML libraries (they’re still permitted to use numerical libraries like pandas or NumPy). For the other task, we ask them to manually explore a data set using libraries of their choice, then train a prefab classifier on that data set. Most candidates use Python and pandas or NumPy for the first task and pandas and sk-learn for the second, but some may use other languages or ML libraries.
Low Level Systems Understanding
This score reflects a candidate’s understanding of how computers work at the operating system level, including low-level languages (especially the C language family), CPUs, and systems engineering. This is a specialized discipline; knowledge of it is a low priority for most business application developers.
Mobile App Architecture
(Scores match to iOS or Android search filter)
This score reflects a candidate’s understanding of mobile architecture patterns and app design. It’s determined by their performance on questions that assess their knowledge of common app structures and components, local storage, performance, and offline interaction. It focuses on architecture components within the mobile app itself, and not on other portions of a web stack.
Android Coding Productivity
(Scores match to Android search filter)
This score reflects how quickly a candidate writes functioning code, regardless of quality or cleanliness. It reflects their progress on our Android coding tasks, which involve the creation of a native Android app with customized UI components.
iOS Coding Productivity
(Scores match to iOS search filter)
This score reflects how quickly a candidate writes functioning code, regardless of quality or cleanliness. It reflects their progress on our iOS coding tasks, which involve the creation of a native iOS app with customized UI elements.
Infrastructure Design
This score reflects a candidate’s understanding of infrastructure and deployment as relevant to supporting an application created by another developer. It measures their knowledge of relevant infrastructure offerings (e.g. cloud services), CI/CD pipelines, reliability and security, and performance optimization.
Practical Linux
This score reflects a candidate’s knowledge of Linux as an operating system. It covers questions on permissions, resource management, and networking, particularly as relevant to running servers on top of Linux. While the questions are phrased with a focus on Linux, most of them apply to general *nix systems (or indeed most operating systems) as well.
DevOps Scripting Productivity
This score reflects how quickly a candidate can write quick scripts, regardless of quality or cleanliness. It reflects their progress on our scripting tasks, which involve parsing relevant information out of logs to answer specific questions about a server’s activity. Most candidates use the command line for this section, though a few use full programming languages, usually Python.
Beta and Screen-only Scores
These tests only display the number of questions correct out of the total (e.g. X out of 15) at this time. When enough engineers have taken the tests, they will be calibrated to provide Level 1-5 scores.
Timed Coding
This score indicates a candidate's performance on simple coding tasks. Candidates are given descriptions of desired behavior and must write functions that satisfy the given requirements. These problems don't require any special algorithmic knowledge, and the score is based on functionality, not any measure of code quality.
Apache Spark
This score reflects a candidate's knowledge of Apache Spark. It tests their knowledge of Spark tasks, RDDs and transformations, closures, and basic Spark deployment and configuration. It is written in Scala, but is intended to be accessible for Spark devs who usually use other languages like Python or Java. It does not assume any specific underlying infrastructure (e.g. Kubernetes).
C#
This score reflects a candidate's understanding of C# syntax and language features. It doesn’t test general coding logic, which is covered on other assessments, but instead focuses on C# specific topics like LINQ, async/await, and syntactic sugar like the null-coalescing operator.
SQL
This score reflects a candidate's understanding of SQL queries and relational databases. It doesn't require knowledge of any specific database management system. Instead it tests engineers' knowledge of basic operations like SELECT or JOIN, filtering operations like IN or EXISTS, and more advanced topics like window functions and query optimization.
Note: You can quickly reference these score descriptions within each candidate's score report as you source candidates. Use the small caret to open and close score description drawers for each skill area.
Please Note: Current Triplebyte company users must create an account and log in to see the complete Company Help Center. Some general content is visible in logged-out mode, with additional content available for logged-in users. Learn how to set up your Company Help Center account.
If you have additional questions, please let us know.
Screen-only users: please contact Screen Support.
Triplebyte Hire users (Professional & Team): please contact your Account Manager or Company Support.
Comments
0 comments
Article is closed for comments.