{"id":7437,"date":"2021-08-12T12:29:44","date_gmt":"2021-08-12T09:29:44","guid":{"rendered":"https:\/\/flatlogic.com\/blog\/?p=7437"},"modified":"2022-12-29T18:36:25","modified_gmt":"2022-12-29T15:36:25","slug":"take-the-quiz-top-20-react-interview-questions","status":"publish","type":"post","link":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/","title":{"rendered":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz]"},"content":{"rendered":"<!-- Start Quize --><!--Style start--><style>\n\n #adv-banner !important\n {\n display:none;\n }\n #content\n {\n width: 100%;\n max-width: 800px;\n margin: 0 auto;\n }\n .quize__entry-content\n {\n font-size: 20px!important;\n font-weight: 300;\n line-height: 1.428571429;\n color: #1c1c1c;\nmargin:30px 0;\n }\n .quiz__answer-descr\n {\n font-size: 16px!important;\n font-weight: 300;\n line-height: 1.428571429;\n color: #1c1c1c;\n margin: 15px;\n }\n \n \n \n \n \n .quize__entry-image\n {\n width: 100%;\n }\n \n .quize__action\n {\n text-align: center;\n }\n \n .quiz__button\n {\n padding: 10px 50px;\n margin:50px;\n font-size: 1.5em;\n border-color: #fda50d;\n color: #777;\n background: 0 0;\n border-style: double;\n }\n \n .quiz__button:after {\n color: #fdae26;\n transition: all .25s;\n }\n \n \n \n .quiz__item\n {\n margin: 10px 0;\n }\n \n .quiz__question\n {\n font-weight: 700;\n text-transform: none;\n font-size: 34px;\n color: #1c1c1c;\n font-family: inherit;\n line-height: 1.1;\nmargin:30px 0;\n }\n \n .quiz__answers\n {\n padding: 10px;\n }\n \n .quiz__answer\n {\n position: relative;\n cursor: pointer;\n padding: 10px 66px 10px 36px;\n min-height: 28px;\n border-bottom: 1px solid #e6e6e6;\n display: flex;\n flex-direction: column;\n }\n \n .quiz__answer:before\n {\n content: '';\n display: block;\n width: 24px;\n height: 24px;\n box-sizing: border-box;\n border: 1px solid #fdae26;\n border-radius: 50%;\n padding: 9px;\n margin-right: 10px;\n opacity: .8;\n font-size: 20;\n position: absolute;\n top: 8px;\n left: 4px;\n }\n \n .quiz__answer:hover:before\n {\n width: 24px;\n height: 24px;\n border-width: 6px;\n padding: 3px;\n }\n \n .quiz__answer--sucess,\n .quiz__answer--error,\n .quiz__answer--disabled\n {\n cursor: default;\n }\n \n .quiz__answer--disabled.quiz__answer--disabled:before\n {\n border: none;\n }\n \n .quiz__answer--sucess.quiz__answer--sucess:before\n {\n width: 24px;\n height: 24px;\n border-width: 0;\n padding: 0;\n background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" style=\"stroke-width: 1px; stroke: rgb(0, 200, 0);\"><\/path><\/svg>') center center no-repeat;\n }\n \n .quiz__answer--error.quiz__answer--error:before\n {\n width: 24px;\n height: 24px;\n border-width: 0;\n padding: 0;\n background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><line x1=\"4\" y1=\"4\" x2=\"20\" y2=\"20\" style=\"stroke-width: 2px; stroke: rgb(200, 0, 0);\"><\/line><line x1=\"4\" y1=\"20\" x2=\"20\" y2=\"4\" style=\"stroke-width: 2px; stroke: rgb(200, 0, 0);\"><\/line><\/svg>');\n }\n \n .quiz__answer-percent\n {\n position: absolute;\n right: 0;\n padding-left: 28px;\n background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\" style=\"fill: rgb(95, 95, 95);\"><\/path><\/svg>') left center no-repeat;\n background-size: 24px 24px;\n }\n \n .quiz__answer--sucess .quiz__answer-text,\n .quiz__answer--sucess .quiz__answer-percent\n {\n color: rgb(0, 200, 0);\n }\n \n .quiz__answer--sucess .quiz__answer-percent\n {\n background-image: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\" style=\"fill: rgb(0, 200, 0);\"><\/path><\/svg>');\n }\n \n .quiz__answer--error .quiz__answer-text,\n .quiz__answer--error .quiz__answer-percent\n {\n color: rgb(200, 0, 0);\n }\n \n .quiz__answer--error .quiz__answer-percent\n {\n background-image: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\" style=\"fill: rgb(200, 0, 0);\"><\/path><\/svg>');\n }\n \n .quize__result-status\n {\n color: rgb(0, 200, 0);\n text-align: center;\n font-size: 4em;\n line-height: 2.2em\n }\n <\/style> <!--Style End-->  <div id=\"content\"> <\/div> <div id=\"content-template\" style=\"display: none;\"> <article class=\"quize\"> <div class=\"quize-header\"> <h1 class=\"quize-title\">A Guide to Answering the Most Important React.JS Developer Interview Questions\n <\/h1> <div class=\"quize-meta\"> <!-- <ul> <li>  <a\n href=\"\"\n title=\"\">\n \n <\/a> <\/li> <\/ul> --> <\/div> <\/div> <div class=\"quize__entry-image-wrapper\"> <!-- <img decoding=\"async\"\n data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz.png\"\n class=\"quize__entry-image lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1334px; --smush-placeholder-aspect-ratio: 1334\/250;\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz.png 1334w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz-600x112.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz-1024x192.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz-768x144.png 768w\" data-sizes=\"auto\" data-original-sizes=\"(max-width: 1334px) 100vw, 1334px\"> --> <\/div> <div class=\"quize__entry-content\"> <!-- <p> <a href=\"https:\/\/flatlogic.com\/generator\"><img decoding=\"async\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png\" alt=\"Professional Vibe Coding\" class=\"banner-img lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/640;\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png 2560w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-600x150.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1024x256.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-768x192.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1536x384.png 1536w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-2048x512.png 2048w\" data-sizes=\"auto\" data-original-sizes=\"(max-width: 2560px) 100vw, 2560px\"> <\/a><\/p> --> <\/div> <div class=\"quize__progress_block\"> <div class=\"quize__progress\" data-role=\"progress\"> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\"><\/button> <\/div> <div class=\"quiz__item\"> <div class=\"quiz__question\"> <p>Question #1. What are the major advantages of <a  data-ilj-link-preview=\"true\"  data-featured-image=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy-600x450.png\"  data-excerpt=\"Here is our list of JS articles of 2019. We collected 17 posts with tricks and tips in JavaScript and its frameworks.\" href=\"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/\">React<\/a>.JS? <\/p> <\/div> <div class=\"quiz__answers\"> <div class=\"quiz__answer quiz__answer--sucess\"> <div class=\"quiz__answer-text\"> Answer #1 \u00b7 SEO-friendliness, \u00b7 <a  data-ilj-link-preview=\"true\"  data-featured-image=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/first-rns-600x450.png\"  data-excerpt=\"React Native has hardly any competition in the marketplace. Two, however, are Flutter along with Ionic. We shall now do a comparison between React Native and those competitors.\" href=\"https:\/\/flatlogic.com\/blog\/why-react-native-is-the-future\/\">Virtual DOM<\/a>, \u00b7 reusable components \u00b7 and one-way data flow   <\/div> <div class=\"quiz__answer-descr\"> You are correct! All of these advantages are pivotal to ReactJS: \u00b7 Being SEO-friendly allows your project to show better organic search results in order to attract users and drive business goals; \u00b7 One-way data flow allows for a simpler and more stable code, as in React.JS&#8217; structure parent data cannot be affected by any changes made to child elements; \u00b7 React.JS isolates each and every component, which, in turn, means that all the components of the code are perfectly reusable and will not affect all the copies of that component if any changes are made to it; \u00b7 And last but not least, React uses Virtual DOM. If any changes are made, it does not rewrite the entire DOM tree and updates the manipulated element. As a result, it renders React.JS&#8217; Virtual DOM much more efficient and faster performing.  <\/div> <div class=\"quiz__answer-percent\">  <\/div> <\/div> <div class=\"quiz__answer quiz__answer--error\"> <div class=\"quiz__answer-text\"> Answer #2 \u00b7 Being maintained by Google, \u00b7 Two-way data binding \u00b7 Usage of TypeScript   <\/div> <div class=\"quiz__answer-descr\"> <p>Take a deep breath and let the stress go, as you seem somewhat confused. Easiness to learn and virtual DOM are React.JS&#8217; advantages, whilst usage of TypeScript and two-way data binding are Angular&#8217;s. You are near the right track, but be more attentive to the next question! <\/p> <\/div> <div class=\"quiz__answer-percent\">  <\/div> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Next question<\/button> <\/div> <\/div> <div class=\"quiz__item\"> <div class=\"quiz__question\"> <p>Question #2. What are the main features of React.JS you would like to list? <\/p> <\/div> <div class=\"quiz__answers\"> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #1 MVC Architecture, Less Code Framework, Dependency Injection, Directives   <\/div> <div class=\"quiz__answer-descr\"> <p>While all of these features are worth writing home about, they are the main features of Angular. And, also, some type of Dependency Injection is possible in React.JS, it is far from being a feature and requires lots and lots of tinkering around. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #2 JSX, Event Handling, Virtual DOM, Computed Properties, Template  <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #2 You are close, but no cigar on this one, as this answer is, in fact, a mix of Vue.JS&#8217; and React.JS&#8217; main features. Let&#8217;s clear the smog a little: both Vue.JS and React.JS use virtual DOM and to great result, we might add, but where the first uses Templates, the second goes with JSX. React.JS also does not have computed properties out of the box (also, you can compute it pretty quickly). Event Handling also differs in React.JS and Vue.JS, also they both use virtual DOM, instead of traditional one. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Next question<\/button> <\/div> <\/div> <div class=\"quiz__item\"> <div class=\"quiz__question\"> <p>Question #3. What are the major disadvantages and limitations of React.JS? <\/p> <\/div> <div class=\"quiz__answers\"> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #1 JSX, Poor Documentation, View Part   <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #1 Bravo for not being afraid to list JSX as one of the main disadvantages of React.JS, as it can be described as both a blessing and a curse. JSX can be considered a barrier, especially for new developers, as it greatly complicates the learning curve. As for the View Part, you should never forget and never shy away from mentioning the fact that React.JS only covers the UI Layers of the whole app in your interview, so the project would still need other technologies for the full toolset. And the third major React.JS&#8217; limitation is its poor documentation, which stand from constant development, which renders full proper documentation impossible. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #2 Steep learning curve, Limited SEO options, Speed of development   <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #2 Once again, the devil is in the details. While the steepness of React.JS&#8217; learning curve is quite significant and the speed of development is bringing its fair share of problems too, React.JS is extremely SEO-friendly. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Next question<\/button> <\/div> <\/div> <div class=\"quiz__item\"> <div class=\"quiz__question\"> <p>Question #4. What are the differences between React.JS and other Java scripts? <\/p> <\/div> <div class=\"quiz__answers\"> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #1 React.JS: uses MVC framework, has eazy Real-time data steaming, has the largest ecosystem of open-source libraries   <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #1 Unfortunately, you are wrong on this one. All of these features differentiate not React.JS, but Node.JS. It&#8217;s also worth mentioning here that Node.JS is used for creating backend, while React.JS covers only the UI side of the question. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #2 React.JS: uses TypeScript, uses MVC framework, has Built-in support for AJAX\/HTTP\/ Observables  <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #2 We urge you to pay closer attention. React.JS does not use TypeScript, it uses JavaScript, hence the JS in the name. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Next question<\/button> <\/div> <\/div> <div class=\"quiz__item\"> <div class=\"quiz__question\"> <p>Question #5. What are the major two types of components that can be declared in React, and when should you use one over the other? <\/p> <\/div> <div class=\"quiz__answers\"> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #1 Smart Components and Dumb Components.  You choose Smart Components when you need a component that is able to manage its own state and Dumb component when there is no need for state managing and\/or the component is stateless.  <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #1 The descriptions of and reasoning behind choosing these components are correct, but we do not use Smart and Dumb components in React.JS. Instead, the two major types of components in React.JS are Functional and Class components. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <div class=\"quiz__answer\"> <div class=\"quiz__answer-text\"> Answer #2 Functional Component and Class Component.  You should choose Class Components when you need the data to be transferable from one component to the other and Functional Component for JavaScript functions.  <\/div> <div class=\"quiz__answer-descr\"> <p>Answer #2 You are right! Components in React basically return a piece of JSX code that tells you what should be rendered on the screen. Thus, these two component types are the ones we use. <\/p> <\/div> <div class=\"quiz__answer-percent\"><\/div> <\/div> <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Next question<\/button> <\/div> <\/div>  <div class=\"quize__result\"> <div class=\"quize__result-status\"> 22\/23 <\/div> <div class=\"quize__action\"> <button class=\"quiz__button\">Try again<\/button> <\/div> <\/div> <\/article> <\/div> <!-- partial --> <!--Start scrypt--> <script>\n const quizeData = {\n quize_id: 1,\n title: '',\n \n image: 'https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/take-the-quiz.png',\n link: 'https:\/\/flatlogic.com',\n description: 'Hello! Let's talk about a really crucial thing - Job Interviews. And let's be honest, it doesn't really matter whether you are a young and up-and-coming developer, or you already know the ropes of React js. Job interviews are stressful and challenging for everyone. But never fear, as Flatlogic will help you to get through this test and improve your interview perfomance. To ease your pain while undergoing any React developer interview, we've made a quick test with common questions asked at interviews for a React developer position. As a result, you can be sure that you know your React.JS and you know it well. So, let's get started!',\n questions: [\n {\n quize_id: 1,\n question_id: 1,\n text: 'Question #1. What are the major advantages of React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 1,\n text: 'SEO-friendliness, Virtual DOM, reusable components, and one-way data flow'\n },\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 2,\n text: 'Being maintained by Google, Two-way data binding, Usage of TypeScript'\n },\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 3,\n text: 'Easy to learn, Usage of TypeScript, Virtual DOM, and two-way data binding'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 2,\n text: 'Question #2. What are the main features of React.JS you would like to list?',\n answers: [\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 1,\n text: 'MVC Architecture, Less Code Framework, Dependency Injection, Directives',\n },\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 2,\n text: 'JSX, Event Handling, Virtual DOM, Computed Properties, Template'\n },\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 3,\n text: ' JSX, Declarative UI, Virtual DOM, Component-based architecture, React Native'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 3,\n text: 'Question #3. What are the major disadvantages and limitations of React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 1,\n text: 'JSX, Poor Documentation, View Part',\n },\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 2,\n text: 'Steep learning curve, Limited SEO options, Speed of development'\n },\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 3,\n text: 'There are no disadvantages'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 4,\n text: 'Question #4. What are the differences between React.JS and other Java scripts?',\n answers: [\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 1,\n text: 'React.JS uses MVC framework, has eazy Real-time data steaming, has the largest ecosystem of open-source libraries',\n },\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 2,\n text: 'React.JS uses TypeScript, uses MVC framework, has Built-in support for AJAX\/HTTP\/ Observables'\n },\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 3,\n text: 'React.JS is backed by Facebook, uses MobX, has JSX, uses Virtual DOM'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 5,\n text: 'Question #5. What are the major two types of components that can be declared in React, and when should you use one over the other?',\n answers: [\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 1,\n text: 'Smart Components and Dumb Components. You choose Smart Components when you need a component that is able to manage its own state and Dumb component when there is no need for state managing and\/or the component is stateless.',\n },\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 2,\n text: 'Functional Component and Class Component. You should choose Class Components when you need the data to be transferable from one component to the other and Functional Component for JavaScript functions.'\n },\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 3,\n text: 'Functional Components and High-Order Components. You choose HOC when you take a component as input and need it to return the component as output but with extended functionalities and Functional Component for JavaScript functions.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 6,\n text: 'Question #6. What programming paradigms in React.JS are you familiar with?',\n answers: [\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 1,\n text: 'Imperative programming paradigms, such as Procedural and Object-Oriented Programming; Parallel Processing Approach',\n },\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 2,\n text: 'Declarative programming paradigms, such as Logic Programming Paradigm, Functional Programming and Database Processing Approach'\n },\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 3,\n text: 'Both Imperative and Declarative Programming Paradigms'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 7,\n text: 'Question #7. What is the lifecycle of a React component and what are its stages?',\n answers: [\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 1,\n text: 'A React component's lifecycle is all the stages it goes through while in usage. Its stages are: initialization, mounting, updating, unmounting',\n },\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 2,\n text: 'A React component's lifecycle is all the time the component is used in the code. Its stages are: introduction, usage, debugging, deletion'\n },\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 3,\n text: 'A React component's lifecycle is not a term in use and it means nothing.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 8,\n text: 'Question #8. Can you name 5 ways to implement Style React components into your work?',\n answers: [\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 1,\n text: 'Inline CSS, sass & SCSS, styled components, CSS modules, global styles to single file components',\n },\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 2,\n text: 'Inline CSS, CSS in JS, styled components, CSS modules, stylable'\n },\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 3,\n text: 'Scoped styles, less, normal CSS, stylable, global styles to single file components'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 9,\n text: 'Question #9. What is Flux and how does it correlate with React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 1,\n text: 'Flux is a tool that helps React implement Unidirectional Data Flow.',\n },\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 2,\n text: 'Flux is the name of the framework React uses to interact with non-iOS apps.'\n },\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 3,\n text: 'Flux is an architecture that Facebook uses internally when working with React.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 10,\n text: 'Question #10. Can you describe how a chain of events is handled in React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 1,\n text: 'A standard chain of events in React.JS is handled with the help of event binding, during which information flows from elements in a component template to the corresponding component's class',\n },\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 2,\n text: 'A chain of events in React.JS is similar to one in DOM-elements, but the events in React.JS are named in the camelCase style and you pass the function as an event handler instead of a string with JSX'\n },\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 3,\n text: 'Using Virtual DOM, React.JS fixes each event in the chain as a component, thus simplifying the process of handling events and making it quicker.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 11,\n text: 'Question #11. What are the ways to optimize an application on React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 1,\n text: 'There are more than 20 ways to optimize an application on React.JS. Just to name a few, there are: using immutable data structures, dependency optimization, spreading props on DOM elements, etc.',\n },\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 2,\n text: 'Keeping the app small in code and simple in structure is the best way to foresee the need of optimization.'\n },\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 3,\n text: 'The best way to optimize an app on React.JS is to minimize the use of external libraries and compress and optimize images'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 12,\n text: 'Question #12. Do you know what is \"a hook\" in React.JS and what tasks does it solve?',\n answers: [\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 1,\n text: 'A hook in React.JS is a function that allows you to interconnect two or more stylings to one element of the code.',\n },\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 2,\n text: 'A hook in React.JS is a search tool that helps you to find the needed place in your code.'\n },\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 3,\n text: 'A hook in React.JS is a function that allows you to use state and other React features without writing classes.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 13,\n text: 'Question #13. What purpose do stateless components serve in React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 1,\n text: 'A stateless component's main goal is to present something to the DOM without keeping tabs on it or checking to control the process',\n },\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 2,\n text: 'A stateless component's main goal is to take props as an argument and return a react element'\n },\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 3,\n text: 'A stateless component's main goal is to take a component and return a new component'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 14,\n text: 'Question #14. Are you familiar with JSX?',\n answers: [\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 1,\n text: 'Yes, it is a React.JS' own markup syntax that eases the process of writing the React.JS' building blocks.',\n },\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 2,\n text: 'Yes, it is an architecture that help React to implement Unidirectional Data Flow.'\n },\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 3,\n text: 'Yes, it is an inner React tool that unmounts the component during its lifecycle.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 15,\n text: 'Question #15. What advantages does Virtual DOM provide when you work with React.JS?',\n answers: [\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 1,\n text: 'The advantages of Virtual DOM: easy to integrate, simple API that makes it powerful for targeting template engines, suitable for mobile device-based applications.',\n },\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 2,\n text: 'The advantages of Virtual DOM: efficient \"diffing\" algorithm, simple and help to boost performance; it can be used without React; lightweight; allows building applications without thinking about state transitions.'\n },\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 3,\n text: 'The advantages of Virtual DOM: allows building applications without thinking about state transitions; powerful due to simple API; simple and helps to boost performance.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 16,\n text: 'Question #16. What is the significance of keys in React?',\n answers: [\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 1,\n text: 'Keys in React are factually insignificant, but useful navigation-wise',\n },\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 2,\n text: 'Keys are significant in React as they allow the usage of React features without writing classes'\n },\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 3,\n text: 'Keys are significant in React as they help it identify which items have changed and what the changes are. This way they help the elements to \"have a stable identity\"'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 17,\n text: 'Question #17. What is prop drilling in React.JS? Should you avoid it? If yes, why so?',\n answers: [\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 1,\n text: 'Prop drilling in React is a process of props passing from one part of a tree to another by going through other parts that do not need the data. It should not be avoided, as it does not affect the outcome and work of the app.',\n },\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 2,\n text: 'Prop drilling in React is the process of props passing from one part of a tree to another by going through other parts that do not need the data. Such a process should be avoided and can be avoided by using the Context API.'\n },\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 3,\n text: 'Prop drilling in React is a normal process of props passing from one part of a tree to another to redistribute the data to other props. It should not be avoided.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 18,\n text: 'Question #18. How can you make sure that the data is not re-fetched when the component is remounted?',\n answers: [\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 1,\n text: 'Only by using APIs that are external to React',\n },\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 2,\n text: 'There is no good way of ensuring that.'\n },\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 3,\n text: 'The best way to ensure it is to not couple the UI and other layers of the app. It is also possible to use external APIs to solve this problem.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 19,\n text: 'Question #19. How would you debug a React.JS code? What tools would you use to do that?',\n answers: [\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 1,\n text: 'There are multiple ways to debug a React.JS code, such as: console statements, browser inspector, react dev tools',\n },\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 2,\n text: 'The most efficient way is to operate on the application manually and search for the bugs to debug.'\n },\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 3,\n text: 'I usually outsource the debugging stage.'\n }\n ]\n },\n {\n quize_id: 1,\n question_id: 20,\n text: 'Question #20. What were the biggest challenges that you have faced on your latest React-related project?',\n answers: [\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 1,\n text: 'You've never had a React-related project before.',\n },\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 2,\n text: 'Long work hours and inability to catch up with the latest React updates.'\n },\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 3,\n text: 'Honestly, but briefly, listing the challenges you've found the biggest, while elaborating on them when needed.'\n }\n ]\n }\n ],\n results: [\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 1,\n message: 'You are correct! All of these advantages are pivotal to ReactJS: 1) Being SEO-friendly allows your project to show better organic search results in order to attract users and drive business goals; 2) One-way data flow allows for a simpler and more stable code, as in React.JS' structure parent data cannot be affected by any changes made to child elements; 3) React.JS isolates each and every component, which, in turn, means that all the components of the code are perfectly reusable and will not affect all the copies of that component if any changes are made to it; 4) And last but not least is Virtual DOM, which, unlike real or traditional constructions of DOM does not rewrite the entire DOM tree if any changes are made. Instead, it only updates the manipulated element, which, as a result, renders React.JS' Virtual DOM much more efficient and faster performing.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 2,\n message: 'Well, we can't say that you don't know your stuff, but we can't say that it is React.JS either. All of these advantages are Angular's. And we definitely recommend listing them if you ever find yourself interviewing for a position of Angular developer.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 1,\n answer_id: 3,\n message: 'Take a deep breath and let the stress go, as you seem somewhat confused. Ease of learning and virtual DOM are React.JS' advantages, whilst the usage of TypeScript and two-way data binding are Angular's. You are on the right track, but be more attentive on the next question',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 1,\n message: 'While all of these features are worth writing home about, they are the main features of Angular. And, also, some type of Dependency Injection is possible in React.JS, it is far from being a feature and requires lots and lots of tinkering around.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 2,\n message: 'You are close, but no cigar on this one, as this answer is, in fact, a mix of Vue.JS' and React.JS' main features. Let's clear the smog a little: both Vue.JS and React.JS use virtual DOM and to great effect, we might add, but where the first uses Templates, the second goes with JSX. React.JS also does not have computed properties out of the box (also, you can compute it pretty quickly). Event Handling also differs in React.JS and Vue.JS, also they both use virtual DOM, instead of a traditional one.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 2,\n answer_id: 3,\n message: 'You are correct! All of these features distinguish React.JS form all the others, so let's have a closer look at them: 1) JSX stands short for JavaScript XML, meaning it's a markup syntax that is very close to HTML. JSX is one of the most important React.JS features, as it makes the syntax almost the same as the HTML you, as a developer, inject in the web page of your project. So, in other words, JSX makes the writing of React.JS' building blocks easy and effortless. 2) Declarative UI. Without a doubt, React.JS is the best thing in creating mobile and web app UIs that are not only interactive, but highly engaging. All due to React.JS' ability to adequately render and update only the right components, which, in its own right, greatly simplifies the process of reading and debugging the code. 3) Component-based architecture constitutes the state of dividing the UI of a React-based mobile or web application into multiple components with their own specific logic that is written not using templates, but simply in JavaScript. Thus, processing the data through the app does not affect the DOM, while simultaneously making the process of interaction and visual determination in React.JS so much more practical. 4) React Native is React.JS' own custom renderer that uses native instead of web components. React Native also makes the React code more compatible with such platforms, as iOS and Android, while also providing a developer with these platform's native features.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 1,\n message: 'Bravo for not being afraid to list JSX as one of the main disadvantages of React.JS, as it can be described as both a blessing and a curse. JSX can be considered a barrier, especially for new developers, as it greatly complicates the learning curve. As for the View Part, you should never forget and never shy away from mentioning the fact that React.JS only covers the UI Layers of the whole app in your interview, so the project would still need other technologies for the full toolset. And the third major React.JS' limitation is its poor documentation, which stems from constant development, rendering full proper documentation impossible.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 2,\n message: 'Once again, the devil is in the detail! While the steepness of React.JS' learning curve is quite significant and the speed of development is bringing its fair share of problems too, React.JS is extremely SEO-friendly.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 3,\n answer_id: 3,\n message: 'We somewhat admire your dedication, but your goal is not to flatter, but to understand the realities. And in this particular situation that means understanding that React.JS has major setbacks, such as very high development speed, which results in the lack of full and proper documentation, as well as the steepness of the learning curve that is significantly complicated by the usage of JSX.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 1,\n message: 'Unfortunately, you are wrong on this one. All of these features differentiate not React.JS, but Node.JS. It's also worth mentioning here that Node.JS is used for creating backend, while React.JS covers only the UI side of the question.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 2,\n message: 'We urge you to pay your attention closer. React.JS does not use TypeScript, it uses JavaScript, hence the JS in the name.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 4,\n answer_id: 3,\n message: 'You are absolutely correct! Also Virtual DOM is not exclusive to React.JS (Vue.JS also uses it), JSX and Facebook affiliation are the defining features of React.JS.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 1,\n message: 'The descriptions of and reasoning behind choosing these components are correct, but we do not use Smart and Dumb components in React.JS. Instead, the two major types of components in React.JS are Functional and Class ones.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 2,\n message: 'You are right! Components in React basically return a piece of JSX code that tells what should be rendered on the screen. Thus, these two component types are the ones we use.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 5,\n answer_id: 3,\n message: 'Are you livin' on a prayer? Cause you are halfway there. React.JS does declare Functional Components as one of the major types, but it doesn't use HOCs. Instead, Class Components are highly and widely used in this JavaScript-library.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 1,\n message: 'Also, this question is mostly theoretical and we cannot claim that this answer is strictly wrong. We would like to discourage you from using it, as it would show you as more stubborn and unwilling to learn than, we hope, you are. It is crucial to develop your craft and know all possible sides of the matter, even if you don't use all of your knowledge on a daily basis. So, if ever you have to answer such a question - try to mention both Imperative and Declarative Programming Paradigms.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 2,\n message: 'Also, this question is mostly theoretical and we cannot claim that this answer is strictly wrong. We would like to discourage you from using it, as it would show you as more stubborn and unwilling to learn than, we hope, you are. It is crucial to develop your craft and know all possible sides of the matter, even if you don't use all of your knowledge on a daily basis. So, if ever you have to answer such a question - try to mention both Imperative and Declarative Programming Paradigms.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 6,\n answer_id: 3,\n message: 'This answer would be the most fitting when you are having and interview, even though you might use only the Declarative Programming Paradigm or only the Imperative one (also this situation is most unlikely, as React.JS, being a JavaScript-based library, is sometimes referred to as \"multi-paradigm\").',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 1,\n message: 'That is absolutely right. And, even though the Initialization stage is sometimes omitted when listing, it is still a stage worth mentioning when you talk about React component's lifecycle, as it is the preparation stage, during which a developer sets all the props and initial state of the component in the constructor. So, don't forget to add it, when answering this question during your interview.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 2,\n message: 'Well, your point on the matter is more philosophical, rather than practical. We can respect your non-trivial view upon the matter, but be aware that the lifecycle of a component is a fixed term and some interviewers may simply not get the humorous side of your answer. Remember, a lifecycle of a component is all the stages it goes through while in usage and it consists of four (sometimes three) stages: Initialization, Mounting, Updating, Unmounting',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 7,\n answer_id: 3,\n message: 'This answer seems pretty harsh. We strongly suggest not answering this way during your interview, as you might seem unapologetically sharp in your judgment. But, anyway, a lifecycle of a component is a fixed term and it means all the stages it goes through while in usage, mainly: Initialization, Mounting, Updating, Unmounting',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 1,\n message: 'The first four ways are 100% legitimate when it comes to React components styling. The last one is, unfortunately, not a way to do it in React.JS, but rather one for Vue.JS',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 2,\n message: 'Five out of five, good way to go! All of these ways are indeed valid for React components styling. But, just to be on the safe side, it is also worth remembering such ways as Normal CSS, Sass & SCSS and Less.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 8,\n answer_id: 3,\n message: 'There is no rush, so consider taking a little break from this test, as you might have messed up a little here. On the plus side, you know at least two ways to style a component in Vue.JS, which are Scoped styles and adding Global styles to Single File Components. On the other hand, you named three correct ones, such as Less, Normal CSS and Stylable. So, take a deep breath and don't race with the answers.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 1,\n message: 'The truth, as it so often does, lies in between: Flux's general function is, indeed, implementing Unidirectional Data Flow for React.JS. But it is no tool. Flux is an architecture, consisting of such components as: Action; Dispatcher; Stores; Controller Views.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 2,\n message: 'Sorry, but this one is just simply wrong. Firstly, Flux has no special connection with iOS in particular. Secondly, Flux is not a framework, but more of a pattern, as it is an architecture that Facebook uses internally when working with React.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 9,\n answer_id: 3,\n message: 'Absolutely correct. And Flux is a new kind of architecture as well, as it is complementary to React and the concept of Unidirectional Data Flow in general. And Facebook's role in this whole endeavour is providing React.JS with a repo that includes a Dispatcher library.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 1,\n message: 'This variant is much more akin to Angular. We don't recommend answering this way during your interview.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 2,\n message: 'Very good, as this answer is to the point, and, what is even more important, right.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 10,\n answer_id: 3,\n message: 'To be honest, we strongly discourage you from answering this way during your interview, as this answer is purely nonsensical.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 1,\n message: 'You are absolutely right! Let us give you more examples of ways to optimize an app for you to impress the interviewer even more: Function\/Stateless Components and React.PureComponent; Multiple Chunk Files; Using Production Mode Flag in Webpack; Using React.Fragments to Avoid Additional HTML Element Wrappers; Avoiding Inline Function Definition in the Render Function; Throttling and Debouncing Event Action in JavaScript, and many other. But bear in mind that each of the above has its place.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 2,\n message: 'Well, yes and no at the same time. While it is good to keep your app nice and simple, it is not always possible, as then it may severely lack in functionality and\/or style. It is better to state more particular ways of optimizing an application during your interview.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 11,\n answer_id: 3,\n message: 'While this answer and these ways are perfectly good in theory, you should not use them during an interview for the position of a React.JS developer, as they are functioning for Vue.JS, rather than React.JS.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 1,\n message: 'That's a good guess, but it is not correct. A hook in React.JS is a function that allows you to use state and other React features without writing classes.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 2,\n message: 'That's a good guess, but it is not correct. A hook in React.JS is a function that allows you to use state and other React features without writing classes.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 12,\n answer_id: 3,\n message: 'You are correct. Being introduced in the React 16.8 version, hooks are the functions that \"hook\" not only into React' state, but also lifecycle features from function components.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 1,\n message: 'Stateless components do not serve this purpose. Such a goal is completed by Dumb components.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 2,\n message: 'Stateless components, also known as functional components, indeed serve this purpose.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 13,\n answer_id: 3,\n message: 'Stateless components do not serve this purpose. Such a goal is completed by High-Order components.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 1,\n message: 'Your memory does not deceive you. JSX is quite similar to HTML, so the process of writing building blocks for React.JS really is as seamless for an experienced React.JS developer as it comes.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 2,\n message: 'You might be somewhat confused between JSX and Flux. The former is React.JS' own markup syntax that eases the process of writing the React.JS' building blocks, while the latter is an architecture that helps React to implement Unidirectional Data Flow. Don't mix them up in your interview if you want to land a job.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 14,\n answer_id: 3,\n message: 'Unfortunately, you are wrong here. There is no particular name, or even any particular tool that unmounts the component, as it is simply a part of its lifecycle. JSX, on the other hand, is a very particular markup syntax that eases the process of writing the React.JS' building blocks.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 1,\n message: 'All of these advantages are much more fitting when describing Incremental DOM, so we do not recommend listing them during your interview.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 2,\n message: 'That is correct! Also, it should be said that Virtual DOM is not a panacea and it has its fair share of drawbacks. One of the main drawbacks we would like to point out is the high use of memory due to the need of keeping a full in-memory copy of the DOM.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 15,\n answer_id: 3,\n message: 'This answer is, in fact, a medley of advantages of both Virtual and Incremental DOMs, so be careful and read-up on Virtual DOM pre-interview.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 1,\n message: 'No need to be so harsh. Especially when the topic concerns keys, as they are most helpful, providing a \"stable identity\" to the elements and keeping track of the changes made to an item.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 2,\n message: 'This function is performed not by keys, but by hooks. Keys, in turn, provide a \"stable identity\" to the elements and keep the track of the changes made to an item.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 16,\n answer_id: 3,\n message: 'That is absolutely correct. Keep this in mind during the interview!',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 1,\n message: 'The definition is absolutely correct, but this process should be avoided, as it can lead to the reduction of component's reusability.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 2,\n message: 'This answer is correct. Also, it also should be mentioned that Context API is only helpful in a specific situation, when sharing state down a component tree is required. The main method for prop drilling avoidance is using less components, as it stops your codebase from getting too big.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 17,\n answer_id: 3,\n message: 'Unfortunately, this answer is completely incorrect. First of all, prop drilling can be defined as the process of props passing from one part of a tree to another by going through other parts that do not need the data. And second of all, it should definitely be avoided if you need your code reusability to be at a sustainable level.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 1,\n message: 'That would be a perfectly passable answer if not for the critical \"only\". You can also avoid coupling the UI and the other layers of the app.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 2,\n message: 'Don't be pessimistic about it! There is always a work around. This problem even has two of them: Avoid coupling the UI and the other layers of the app or using APIs that are external to React.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 18,\n answer_id: 3,\n message: 'That is correct! And while it is always better to prevent the occurrence of a problem, never fear when it is already here, as APIs are there to help.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 1,\n message: 'That's a perfectly good answer. All the above-mentioned tools, while having their particularities are fine for the debugging process.',\n status: 'sucess',\n count: 5\n },\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 2,\n message: 'Manual debugging, also theoretically possible, would require an inhumane amount of patience and time. So, it is highly not recommended to name such a variant of debugging during your interview.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 19,\n answer_id: 3,\n message: 'That is a possible variant of how the things go, but keep in mind that by answering this way you tell your possible employer an inability to perform a task that is perfectly normal for a profession.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 1,\n message: 'This is a bit of a trick question, as it is highly subjective and depends on the actual situation. The key here is to be honest and precise, as these are the qualities that would be held in high regard by a competent interviewer.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 2,\n message: 'This is a bit of a trick question, as it is highly subjective and depends on the actual situation. The key here is to be honest and precise, as these are the qualities that would be held in high regard by a competent interviewer.',\n status: 'error',\n count: 0\n },\n {\n quize_id: 1,\n question_id: 20,\n answer_id: 3,\n message: 'That's the way to go! Honesty and precision are good qualities and it is good that you are ready to provide context when needed.',\n status: 'sucess',\n count: 5\n }\n ]\n };\n \n class Question {\n constructor(props, quizeActionEl, checkAnswer) {\n this.props = props;\n this.checkAnswer = checkAnswer;\n \n const quizeItemEl = document.createElement('div'),\n quizQuestionEl = document.createElement('div'),\n quizAnswersEl = document.createElement('div');\n \n quizeItemEl.classList.add('quiz__item');\n quizQuestionEl.classList.add('quiz__question');\n quizAnswersEl.classList.add('quiz__answers');\n \n quizQuestionEl.innerText = props.text;\n \n quizeItemEl.append(quizQuestionEl, quizAnswersEl);\n \n this._elements = {\n quizeItemEl,\n quizAnswersEl,\n quizeActionEl\n };\n }\n \n createAnswer(answer) {\n const quizAnswerEl = document.createElement('div'),\n quizAnswerTextEl = document.createElement('div'),\n {result} = this;\n \n quizAnswerEl.classList.add('quiz__answer');\n quizAnswerTextEl.classList.add('quiz__answer-text');\n \n quizAnswerTextEl.innerText = answer.text;\n \n quizAnswerEl.append(quizAnswerTextEl);\n \n if (result) {\n const {status, answer_id, message, percents} = result,\n percentEl = document.createElement('div');\n \n percentEl.classList.add('quiz__answer-percent');\n \n percentEl.innerText = `${percents[answer.answer_id]}%`;\n \n if (answer_id === answer.answer_id) {\n const descrEl = document.createElement('div');\n \n quizAnswerEl.classList.add(`quiz__answer--${status}`);\n descrEl.classList.add('quiz__answer-descr');\n descrEl.innerText = message;\n \n quizAnswerEl.append(descrEl);\n } else {\n quizAnswerEl.classList.add(`quiz__answer--disabled`);\n }\n \n quizAnswerEl.append(percentEl);\n } else {\n quizAnswerEl.addEventListener('click', this.selectAnswer.bind(this, answer));\n }\n \n return quizAnswerEl;\n }\n \n selectAnswer(answer) {\n const {checkAnswer} = this;\n \n if (checkAnswer) {\n this.result = checkAnswer(answer);\n this._elements.quizeItemEl.append(this._elements.quizeActionEl);\n this.render();\n }\n }\n \n render() {\n const {quizeItemEl, quizAnswersEl} = this._elements,\n {answers} = this.props;\n \n quizAnswersEl.innerText = '';\n quizAnswersEl.append.apply(quizAnswersEl, answers.map(this.createAnswer.bind(this)));\n \n return quizeItemEl;\n }\n }\n \n class Quize {\n constructor(props) {\n this.props = props;\n this.state = {\n start: false,\n finish: false,\n correctAnswers: 0,\n currentQuestion: 0\n };\n \n const quizeContainer = document.createElement('article'),\n headerEl = this.createHeader(),\n imageWrapper = this.createMainImage(),\n entryEl = this.createEntryContent(),\n startTestBtnWrapper = this.createAction('Start the quiz', this.startQuize.bind(this));\n \n quizeContainer.classList.add('quize');\n \n quizeContainer.append(headerEl, entryEl, imageWrapper, startTestBtnWrapper);\n \n this._elements = {\n quizeContainer,\n headerEl,\n entryEl,\n imageWrapper,\n startTestBtnWrapper\n }\n }\n \n createHeader() {\n const {props: {title}} = this,\n headerEl = document.createElement('div'),\n titleEl = document.createElement('h1');\n \n headerEl.classList.add('quize-header');\n titleEl.classList.add('quize-title');\n \n titleEl.innerText = title;\n \n headerEl.append(titleEl);\n \n return headerEl;\n }\n \n createMainImage() {\n const imageWrapper = document.createElement('div'),\n imgEl = document.createElement('img');\n \n imageWrapper.classList.add('quize__entry-image-wrapper');\n imgEl.classList.add('quize__entry-image');\n imgEl.src = this.props.image;\n \n imageWrapper.append(imgEl);\n \n return imageWrapper;\n }\n \n createEntryContent() {\n const entryEl = document.createElement('div');\n \n entryEl.classList.add('quize__entry-content');\n entryEl.innerText = this.props.description;\n \n return entryEl;\n }\n \n createAction(text, clickHandler) {\n const actionWrapper = document.createElement('div'),\n buttonEl = document.createElement('button');\n \n actionWrapper.classList.add('quize__action');\n buttonEl.classList.add('quiz__button');\n \n buttonEl.innerText = text;\n \n if (clickHandler) {\n buttonEl.addEventListener('click', clickHandler);\n }\n \n actionWrapper.append(buttonEl);\n \n return actionWrapper;\n }\n \n createQuestion() {\n const {currentQuestion} = this.state,\n {questions} = this.props,\n quizeActionEl = this.createAction('Next', this.nextQuestion.bind(this));\n \n return new Question(questions[currentQuestion], quizeActionEl, this.checkAnswer.bind(this));\n }\n \n createResult() {\n const quizeResultEl = document.createElement('div'),\n quizeResultStatusEl = document.createElement('div'),\n actionEl = this.createAction('Try again', this.startQuize.bind(this)),\n {questions} = this.props,\n {correctAnswers} = this.state;\n \n quizeResultEl.classList.add('quize__result');\n quizeResultStatusEl.classList.add('quize__result-status');\n \n \n quizeResultStatusEl.innerText = `${correctAnswers}\/${questions.length}`;\n \n quizeResultEl.append(quizeResultStatusEl, actionEl);\n \n return quizeResultEl;\n }\n \n checkAnswer(answer) {\n const {results} = this.props,\n {question_id, answer_id} = answer,\n answerResults = results.filter(a => a.question_id === question_id),\n result = answerResults.find(a => a.answer_id === answer_id);\n \n result.count++;\n \n const sumAll = answerResults.reduce((sum, a) => sum + a.count, 0);\n \n if (result.status === 'sucess') {\n this.state.correctAnswers++;\n }\n \n return {\n ...result,\n percents: answerResults.reduce((res, a) => {\n res[a.answer_id] = (a.count*100 \/ sumAll).toFixed(0);\n \n return res;\n }, {})\n }\n }\n \n startQuize() {\n if (this._elements.result) {\n this._elements.result.remove();\n delete this._elements.result;\n }\n \n this.state.start = true;\n this.state.finish = false;\n this.state.currentQuestion = 0;\n this.state.correctAnswers = 0;\n \n this._elements.startTestBtnWrapper.remove();\n \n this.state.question = this.createQuestion();\n \n this._elements.questionEl = this.state.question.render();\n this._elements.quizeContainer.append( this._elements.questionEl );\n }\n \n nextQuestion() {\n const {currentQuestion} = this.state,\n {questions} = this.props;\n \n if (currentQuestion < questions.length - 1) {\n this.state.currentQuestion = currentQuestion + 1;\n \n this.state.question = this.createQuestion();\n \n this._elements.questionEl.remove();\n this._elements.questionEl = this.state.question.render();\n this._elements.quizeContainer.append( this._elements.questionEl );\n } else {\n this.state.finish = true;\n \n delete this.state.question;\n this._elements.questionEl.remove();\n \n this._elements.result = this.createResult();\n this._elements.quizeContainer.append( this._elements.result );\n }\n }\n \n render() {\n const {quizeContainer} = this._elements;\n \n return quizeContainer;\n }\n }\n \n const quize = new Quize(quizeData),\n content = document.getElementById('content');\n \n content.append(quize.render());\n \n console.clear();\n console.log(quize);\n <\/script> <!--End scrypt--> <!--End quize--><p><a href=\"https:\/\/flatlogic.com\/blog\/wp-admin\/edit.php?post_type=post\"><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>React js interview questions made in the form of quiz for testing your programming skills.<\/p>\n","protected":false},"author":13,"featured_media":13018,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"flatlogic_tldr":"Take a 20-question React interview quiz with instant explanations\nCovers JSX, Virtual DOM, components, lifecycle, hooks, and Flux\nClarifies common confusions with Angular, Vue, and Node terminology\nIncludes tips on optimization, event handling, debugging, and prop drilling","flatlogic_facts":[{"text":"The quiz contains 20 React developer interview questions.","source":""},{"text":"React advantages highlighted: SEO-friendly, Virtual DOM, reusable components, and one-way data flow.","source":""},{"text":"Component lifecycle stages listed: initialization, mounting, updating, and unmounting.","source":""},{"text":"Hooks noted as added in React 16.8, enabling state and lifecycle features without classes.","source":""},{"text":"Prop drilling is discouraged; Context API is suggested to avoid passing props through unused components.","source":""}],"footnotes":""},"categories":[28],"tags":[80,35,540,409],"class_list":["post-7437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides","tag-cms","tag-reactjs","tag-reactjs-tutorials","tag-web-app-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Get ahead in your React.js job search with our Top 20 interview questions [Quiz] - Flatlogic Blog<\/title>\n<meta name=\"description\" content=\"Take the quiz! \u2705 Test your Reactjs knowledge. Get ready for the interview for a position of frontend developer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get ahead in your React.js job search with our Top 20 interview questions [Quiz]\" \/>\n<meta property=\"og:description\" content=\"Take the quiz! \u2705 Test your Reactjs knowledge. Get ready for the interview for a position of frontend developer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/\" \/>\n<meta property=\"og:site_name\" content=\"Flatlogic Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/flatlogic\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-12T09:29:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-29T15:36:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Frame-2504UA.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1044\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alexander Rubanau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Frame-2504UA.png\" \/>\n<meta name=\"twitter:creator\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:site\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alexander Rubanau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz] - Flatlogic Blog","description":"Take the quiz! \u2705 Test your Reactjs knowledge. Get ready for the interview for a position of frontend developer.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/","og_locale":"en_US","og_type":"article","og_title":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz]","og_description":"Take the quiz! \u2705 Test your Reactjs knowledge. Get ready for the interview for a position of frontend developer.","og_url":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/","og_site_name":"Flatlogic Blog","article_publisher":"https:\/\/www.facebook.com\/flatlogic","article_published_time":"2021-08-12T09:29:44+00:00","article_modified_time":"2022-12-29T15:36:25+00:00","og_image":[{"width":2000,"height":1044,"url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Frame-2504UA.png","type":"image\/png"}],"author":"Alexander Rubanau","twitter_card":"summary_large_image","twitter_image":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Frame-2504UA.png","twitter_creator":"@flatlogic","twitter_site":"@flatlogic","twitter_misc":{"Written by":"Alexander Rubanau","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#article","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/"},"author":{"name":"Alexander Rubanau","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/fe11946e6132bd7996319a70e21dc189"},"headline":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz]","datePublished":"2021-08-12T09:29:44+00:00","dateModified":"2022-12-29T15:36:25+00:00","mainEntityOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/"},"wordCount":889,"commentCount":0,"publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Picture1.png","keywords":["Cms","React","React.js Tutorials","Web App Development"],"articleSection":["Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/","url":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/","name":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz] - Flatlogic Blog","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#primaryimage"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Picture1.png","datePublished":"2021-08-12T09:29:44+00:00","dateModified":"2022-12-29T15:36:25+00:00","description":"Take the quiz! \u2705 Test your Reactjs knowledge. Get ready for the interview for a position of frontend developer.","breadcrumb":{"@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#primaryimage","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Picture1.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2021\/08\/Picture1.png","width":720,"height":720,"caption":"top 20 interview react"},{"@type":"BreadcrumbList","@id":"https:\/\/flatlogic.com\/blog\/take-the-quiz-top-20-react-interview-questions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/flatlogic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Get ahead in your React.js job search with our Top 20 interview questions [Quiz]"}]},{"@type":"WebSite","@id":"https:\/\/flatlogic.com\/blog\/#website","url":"https:\/\/flatlogic.com\/blog\/","name":"Flatlogic Blog","description":"Vibe-coding, AI Agents, Professional Software Development Services, Case Studies and More","publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"alternateName":"Flatlogic Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/flatlogic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/flatlogic.com\/blog\/#organization","name":"Flatlogic","url":"https:\/\/flatlogic.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","width":970,"height":257,"caption":"Flatlogic"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/flatlogic","https:\/\/x.com\/flatlogic","https:\/\/www.instagram.com\/flatlogiccom\/","https:\/\/www.linkedin.com\/company\/flatlogic\/"]},{"@type":"Person","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/fe11946e6132bd7996319a70e21dc189","name":"Alexander Rubanau","sameAs":["At Flatlogic, Alexander is deeply involved in the issues of enhancing and maintaining Flatlogic marketplace products and web app builder. He also supervises the state of Flatlogic marketplace products. Alexander is an experienced front-end developer; part-time programming lecturer; and deserves the title of software quality fanatic. Outside his working hours, he is a photographer, video maker and a dedicated father of two lively kids!"],"url":"https:\/\/flatlogic.com\/blog\/author\/alexsandr\/"}]}},"_links":{"self":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/7437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/comments?post=7437"}],"version-history":[{"count":77,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/7437\/revisions"}],"predecessor-version":[{"id":13145,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/7437\/revisions\/13145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media\/13018"}],"wp:attachment":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media?parent=7437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/categories?post=7437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/tags?post=7437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}