{"id":26995,"date":"2022-02-17T11:00:49","date_gmt":"2022-02-17T11:00:49","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=26995"},"modified":"2022-12-23T06:49:03","modified_gmt":"2022-12-23T06:49:03","slug":"top-50-rust-programming-interview-questions-and-answers","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/top-50-rust-programming-interview-questions-and-answers\/","title":{"rendered":"Top 50 Rust programming Interview Questions and Answers"},"content":{"rendered":"\n<ol class=\"wp-block-list\"><li><strong>Explain Rust?<\/strong><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcTnVAYTNt8qG1tGXPppXouw34M8-NVYfiLq2w&amp;usqp=CAU\" alt=\"What is Rust Programming Language and Why it is Popular\" \/><figcaption>Rust programming language<\/figcaption><\/figure>\n\n\n\n<p>Rust is blazingly fast systems programming language that prevents segfaults and guarantees thread safety.<\/p>\n\n\n\n<p><strong>2. What are the advantages of using rust?<\/strong><\/p>\n\n\n\n<p>It is a choice of developers. To understand advantages, let\u2019s compare Rust with the similar programming language. However, if you want to get into complete details about Rust programming language, we are also mentioning some of the Rust Programming Language Interview Questions and Answers for all. Go through it and feel like you learnt so many things today.<\/p>\n\n\n\n<p><strong>Rust Vs C++<\/strong><br>Rust provides safety where C++ is not even capable enough to provide protection to its own abstraction and even the programmers to protect theirs. If any mistake is committed in C++, it shows arbitrary behaviour &#8211; technically, it means it has no meaning. Rust isolates you from that part and lets you concentrate you on the problem that you are trying to solve.<\/p>\n\n\n\n<p><strong>Rust Vs Java.<\/strong><br>Automatic garbage collection provides rust with an edge over Java. Java is faster but even it can\u2019t match with the speed of C in some domains.<\/p>\n\n\n\n<p>Note it: Rust programming language can do it easily.<\/p>\n\n\n\n<p><strong>Rust Vs Python:<\/strong><br>Good Design gives an edge to Rust over Python. Lambda can\u2019t even hold any statement. In Rust, everything is defined in expressions, which means Language part composes in a much better way.<\/p>\n\n\n\n<p><strong>3. How do you get a command line argument in Rust?<\/strong><\/p>\n\n\n\n<p>The easiest way to use a command line argument in Rust is to put an iterator over the input arguments. Users can access the command line arguments by using functions such as<\/p>\n\n\n\n<p>_______________________________________<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">std<\/span><span class=\"hljs-selector-pseudo\">::env<\/span><span class=\"hljs-selector-pseudo\">::args_os<\/span> <span class=\"hljs-selector-tag\">or<\/span> <span class=\"hljs-selector-tag\">std<\/span><span class=\"hljs-selector-pseudo\">::env<\/span><span class=\"hljs-selector-pseudo\">::args<\/span>\n______________________________\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>4. Does Rust include move constructors?<\/strong><\/p>\n\n\n\n<p>No, the values of all types in Rust are moved via memcpy. It moves everything that doesn\u2019t have a copy constructor or doesn\u2019t implement the copy trait.<\/p>\n\n\n\n<p><strong>5. Does Rust guarantee tail-call optimization?<\/strong><\/p>\n\n\n\n<p>No, Rust doesn\u2019t guarantee TOC (Tail Call Optimization). Not even the standard library is required to compile the rust code. In these cases, the run time is similar to that of C programming language.<\/p>\n\n\n\n<p><strong>6. Could using Rust be a safer option compared to C and C++?<\/strong><\/p>\n\n\n\n<p>The most vital advantage of using Rust over C languages is its emphasis on producing safe code. As manage memory or pointer arithmetic is necessary in C programs, Rust doesn\u2019t require any of it beginning to end. Rust allows programmers to write unsafe code, but defaulting to its safe code.<\/p>\n\n\n\n<p><strong>7. What is Cargo in Rust?<\/strong><\/p>\n\n\n\n<p>It&#8217;s a build system and package manager built for Rust users to manager projects in it. The Cargo system manages three things for users, building code, downloading the libraries, and rebuilding those libraries.<\/p>\n\n\n\n<p><strong>8. What\u2019s Cargo.lock in Rust?<\/strong><\/p>\n\n\n\n<p>When a user runs cargo build command it automatically creates a file named as Cargo.lock to keep track of dependencies in the user application.<\/p>\n\n\n\n<p><strong>9. What\u2019s the relation between Rust and its reusable codes?<\/strong><\/p>\n\n\n\n<p>Rust allows developers to arrange code in a way that fosters its reuse. By easy organization of modules available in Rust, which contain various structures, function and even other modules which users can use privately or make public according to them.<\/p>\n\n\n\n<p><strong>10. What is \u201ccargo new\u201d purposed for?<\/strong><\/p>\n\n\n\n<p>The cargo new command is used to create a new project in Rust. Rust users can use below syntax create a sample project using Cargo.<\/p>\n\n\n\n<p><strong>$ cargo new project_name \u2013bin<\/strong><\/p>\n\n\n\n<p><strong>11. Explain the rule of using &amp;self, self and &amp;mut self in the declaration method?<\/strong><\/p>\n\n\n\n<p><strong>&amp;self : <\/strong>when Read-only reference is required to the function.<\/p>\n\n\n\n<p><strong>self : <\/strong>When a value is to be consumed by the function.<\/p>\n\n\n\n<p><strong>&amp;mut : <\/strong>When a value needs to be mutated by the function with consuming it.<\/p>\n\n\n\n<p><strong>12. Explain the significance of unwrap() everywhere function in Rust?<\/strong><\/p>\n\n\n\n<p>This function is used to handle errors that extract the volume inside an option. It\u2019s also extremely useful for instant prototypes with any errors.<\/p>\n\n\n\n<p><strong>13. How to debug Rust programs?<\/strong><\/p>\n\n\n\n<p>We can use gdb or lldb to debug Rust programs as like C and C++ programming.<\/p>\n\n\n\n<p><strong>14. What are the Error Handling procedures in Rust?<\/strong><\/p>\n\n\n\n<p>Rust Error Handling is categorized into three parts:<\/p>\n\n\n\n<p><strong>Recoverable Error with Results<\/strong> : If an error occurs, the program doesn\u2019t stop completely. Instead, it can easily be interpreted or responded.<br><strong>Unrecoverable Errors with Panic<\/strong> : If something wrong goes with the code, Rust\u2019s panic macro comes into action, shows the error message, clean the error and then quit.<br><strong>Panic or Not to Panic<\/strong> : When you are dicey about calling panic or not, write the code that panics and the process will continue as 2nd.<\/p>\n\n\n\n<p><strong>15. Is it possible to write a complete operating system in Rust?<\/strong><\/p>\n\n\n\n<p>Yes, it\u2019s possible to write a complete operating system in Rust. Even few of latest released operating system in recent days have used Rust as their primary programming language.<\/p>\n\n\n\n<p><strong>16. How to express platform-specific behaviour in Rust?<\/strong><\/p>\n\n\n\n<p>The following attributes can be used to express platform-specific behaviour in Rust.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>target_os<\/li><li>target_family<\/li><li>target_endian<\/li><li>And so on<\/li><\/ul>\n\n\n\n<p><strong>17. Is it possible to cross-compile in Rust?<\/strong><\/p>\n\n\n\n<p>Yes, it is possible to have cross-compilation in Rust but certain coding is required to do the cross compilation.<\/p>\n\n\n\n<p><strong>18. Explain the significance of deref coercion and its functioning?<\/strong><\/p>\n\n\n\n<p>It is handy coercion that that is used for automatically converting into the reference to the content from the reference to the pointer.<\/p>\n\n\n\n<p>Some examples of deref coercion are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00fc &amp;Box to &amp;T<\/li><li>&amp;String to &amp;str<\/li><li>\u00fc &amp;Vec to &amp;[T]<\/li><li>\u00fc &amp;Arc to &amp;T<\/li><li>\u00fc &amp;Rc to &amp;TW<\/li><\/ul>\n\n\n\n<p><strong>19. When the first version of Rust was released?<\/strong><\/p>\n\n\n\n<p>The first version of Rust was released in the year 2010.<\/p>\n\n\n\n<p><strong>20. Rust syntax is similar to which programming Language?<\/strong><\/p>\n\n\n\n<p>Rust is syntactically similar to C++.<\/p>\n\n\n\n<p><strong>21. List some features of Rust?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/static.javatpoint.com\/tutorial\/rust\/images\/rust-features.png\" alt=\"Rust Features - javatpoint\" \/><figcaption>Features of Rust<\/figcaption><\/figure>\n\n\n\n<p>Rust Programming Language comes with following features Sets.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>zero-cost abstractions<\/li><li>move semantics<\/li><li>guaranteed memory safety<\/li><li>threads without data races<\/li><li>trait-based generics<\/li><li>pattern matching<\/li><li>type inference<\/li><li>minimal runtime<\/li><li>efficient C bindings<\/li><\/ul>\n\n\n\n<p><strong>22. Who uses Rust?<\/strong><\/p>\n\n\n\n<p>Below is list of some reputed companies who use Rust.You can find the complete list from Friends of Rust.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>360dialog<\/li><li>OneSignal<\/li><li>Coursera<\/li><li>Atlassian<\/li><li>Braintree<\/li><li>npm, Inc<\/li><li>Mozilla<\/li><li>Academia.edu<\/li><li>Xero<\/li><\/ul>\n\n\n\n<p><strong>23. List the Platforms supported by Rust Programming Language?<\/strong><\/p>\n\n\n\n<p>Linux, Mac, and Windows, on the x86 and x86-64 CPU architecture, are some major platforms supported by Rust Programming Language. For the complete list please visit (https:\/\/forge.rust-lang.org\/platform-support.html).<\/p>\n\n\n\n<p><strong>24. List steps to install Rust?<\/strong><\/p>\n\n\n\n<p>On Linux and macOS simply open the terminal and run following commands<br>$ curl https:\/\/sh.rustup.rs -sSf | sh<br>Above command will download a script, and start the installation process. If everything was good and no error occurred you will see below success message.<br>Rust is installed now. Great!<br>If you are on Windows. Installing Rust is very easy just download and run rustup-init.exe File.<\/p>\n\n\n\n<p><strong>25. How to get installed the version of Rust?<\/strong><\/p>\n\n\n\n<p>rustc \u2013version command is used to get installed version of Rust.<\/p>\n\n\n\n<p><strong>26. How to write and run a Rust Program?<\/strong><\/p>\n\n\n\n<p>Step to create and run a Rust Program<br>create a file name main.rs and add following code in it.<\/p>\n\n\n\n<p>_____________________________________________<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">fn main() {\r\n    println!(<span class=\"hljs-string\">\"Hello, Rust!\"<\/span>);\r\n}\r\nOn Linux or macOS to run open terminal run below command\r\n\r\n$ rustc main.rs\r\n$ .\/main\n__________________________________\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>27. What Is That Cargo.lock?<\/strong><\/p>\n\n\n\n<p>When we run cargo build command it creates a new file called Cargo.lock.Cargo uses the Cargo.lock file to keep track of dependencies in your application.<\/p>\n\n\n\n<p><strong>28. What Are The Disadvantages of Rust?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/qph.fs.quoracdn.net\/main-qimg-99d2248413af6f05ae9a7fce06cfa2c9\" alt=\"What are the disadvantages of Rust (Programming Language)? - Quora\" \/><figcaption>Disadvantages of Rust<\/figcaption><\/figure>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Rust compilation seems slow<\/li><li>Rust has a moderately-complex type system<\/li><li>The Rust compiler does not compile with optimizations unless asked to, as optimizations slow down compilation and are usually undesirable during development.<\/li><li>\u00fc Rust use of LLVM for code generation<\/li><\/ul>\n\n\n\n<p><strong>29. Does Rust Do Tail-call Optimization?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<p>Not, Rust code can be compiled without the standard library; In that case the runtime is roughly equivalent to C programming.<\/p>\n\n\n\n<p><strong>30. What String Type Should You Use?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<p>The string types &#8211;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Slice type<\/li><li>str &#8211; UTF-8<\/li><li>OsStr &#8211; OS-compatible<\/li><li>CStr &#8211; C-compatible<\/li><li>Owned type<\/li><li>String &#8211; UTF-8<\/li><li>OsString &#8211; OS-compatible<\/li><li>CString &#8211; C-compatible<\/li><\/ul>\n\n\n\n<p><strong>31. What Are The Differences Between The Two Different String Types?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The \u201cString\u201d is an owned buffer of UTF-8 bytes allocated on the heap.<\/li><li>The \u201cStrings\u201d are Mutable and it can be modified.<\/li><li>The \u201c&amp;str\u201d is a primitive type and it is implemented by the Rust language while String is implemented in the standard library.<\/li><\/ul>\n\n\n\n<p><strong>32. How Do I Read A File Into A String?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<p>By using the read_to_string() method, which is defined on the Read trait in std::io.<\/p>\n\n\n\n<p><strong>33. What Are The Rules For Using Self, &amp; Self, Or &amp; Mut Self In A Method Declaration?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The \u201cself\u201d is use, when a function needs to consume the value.<\/li><li>The \u201c&amp; self\u201d is use, when a function only needs a read-only reference to the value.<\/li><li>The \u201c&amp; mut self\u201d is use, when a function needs to mutate the value without consuming it.<\/li><\/ul>\n\n\n\n<p><strong>34. How Do I Do Asynchronous Input\/output In Rust?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<p>There are several libraries providing asynchronous input\/output in Rust i.e.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>mio<\/li><li>tokio<\/li><li>mioco<\/li><li>coio-rs<\/li><li>rotor<\/li><li>And so on<\/li><\/ul>\n\n\n\n<p><strong>35. What Is The Deal With Unwrap() Everywhere?<\/strong><\/p>\n\n\n\n<p>The unwrap() function is use to handle errors that extracts the value inside an Option, if no value is present and It is also useful for quick prototypes where you don\u2019t want to handle an error yet.<\/p>\n\n\n\n<p><strong>36. Does Rust Guarantee A Specific Data Layout?<\/strong><\/p>\n\n\n\n<p>Not by default, Most of the general case, the enum and struct layouts are undefined.<\/p>\n\n\n\n<p><strong>37. How Do I Write An Opengl App In Rust?<\/strong><\/p>\n\n\n\n<p>The glium is a library for OpenGL programming in Rust and GLFW is also a solid option.<\/p>\n\n\n\n<p><strong>38. How Can I Write A Gui Application In Rust?<\/strong><\/p>\n\n\n\n<p>There are different ways to write GUI applications in Rust.<\/p>\n\n\n\n<p>The List of &#8211;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cocoa<\/li><li>GTK<\/li><li>gyscos<\/li><li>ImGui<\/li><li>IUP and so on<\/li><\/ul>\n\n\n\n<p><strong>39. How Do I Cross-compile In Rust?<\/strong><\/p>\n\n\n\n<p>It is possible but need a bit of work to set up.<\/p>\n\n\n\n<p><strong>40. What Is The Relationship Between A Module And A Crate?<\/strong><\/p>\n\n\n\n<p><strong>Answer :<\/strong><\/p>\n\n\n\n<p><strong>Module &#8211; <\/strong>A module is a unit of code organization inside a crate.<\/p>\n\n\n\n<p><strong>Crate &#8211; <\/strong>A Crate is a compilation unit and it contains an implicit and un-named top-level module.<\/p>\n\n\n\n<p><strong>41. What string type should you use with Rust?<\/strong><\/p>\n\n\n\n<p>By far, quite a number of string types are available to be used with Rust, choosing one from these, CStr, str, Slice, CString, OsString, OsStr and Owned type, would be more preferable.<\/p>\n\n\n\n<p><strong>42. Could using Rust be a safer option compared to C and C++?<\/strong><\/p>\n\n\n\n<p>The most vital advantage of using Rust over C languages is its emphasis on producing safe code. As manage memory or pointer arithmetic is necessary in C programs, Rust doesn\u2019t require any of it beginning to end. Rust allows programmers to write unsafe code, but defaulting to its safe code.<\/p>\n\n\n\n<p><strong>43. How does a user asynchronous input\/output in Rust?<\/strong><\/p>\n\n\n\n<p>There are several libraries available providing Rust asynchronous input\/output such as tokio, mio, mioco, rotor and coio-rs.<\/p>\n\n\n\n<p><strong>44. How does a user read file input efficiently in Rust?<\/strong><\/p>\n\n\n\n<p>The following function can be used to read file input efficiency in Rust.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>read()<\/li><li>read_to_end()<\/li><li>bytes()<\/li><li>chars()<\/li><li>take()<\/li><\/ul>\n\n\n\n<p><strong>45. How do I get command line arguments in Rust?<\/strong><\/p>\n\n\n\n<p>The easiest way is to use Args that provides an iterator over the input arguments.<\/p>\n\n\n\n<p><strong>46. Is Rust object oriented?<\/strong><\/p>\n\n\n\n<p>It is multi paradigm and most of the things can do in Rust but not everything. So, Rust is not object-oriented.<\/p>\n\n\n\n<p><strong>47. Does Rust have a Run-time?<\/strong><\/p>\n\n\n\n<p>Not! Rust code can be compiled without the standard library; In that case the runtime is roughly equivalent to C programming.<\/p>\n\n\n\n<p><strong>48. How do I do global variables in Rust?<\/strong><\/p>\n\n\n\n<p>In the Rust, you can globals declarations using const for compile time computed global constants.<br>Rust currently has limited support for compile time constants and we can define primitives using const declarations.<\/p>\n\n\n\n<p><strong>49. Can I write an operating system in Rust?<\/strong><\/p>\n\n\n\n<p>Yes! You can do.<\/p>\n\n\n\n<p><strong>50. How do I cross-compile in Rust?<\/strong><\/p>\n\n\n\n<p>It is possible but need a bit of work to set up.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\"  id=\"_ytid_96581\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/zF34dRivLOw?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Explain Rust? Rust is blazingly fast systems programming language that prevents segfaults and guarantees thread safety. 2. What are the advantages of using rust? It is a choice of developers. To understand advantages, let\u2019s compare Rust with the similar programming language. However, if you want to get into complete details about Rust programming language, we&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[641,1869,766,7307,3902,482,7225],"class_list":["post-26995","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-answers","tag-faq","tag-interview","tag-languagescripting","tag-programming","tag-questions","tag-top-50"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/26995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=26995"}],"version-history":[{"count":4,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/26995\/revisions"}],"predecessor-version":[{"id":27010,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/26995\/revisions\/27010"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=26995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=26995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=26995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}