Disclosure: This article may contain affiliate links. When you purchase, we may earn a commission.

Top 20 YAML Interview Questions Answer for Developers and DevOps

Hello guys, if you don't know YAML stands for Yet Another Markup Language and its one of the popular language for defining system rules. YAML is used in Spring Integration and most popularly in Ansible for defining Ansible playbook which you can use to install or uninstall application and do other stuff. Because of that reasons YAML has become quite popular and you may be asked about basic questions in YAML if you are going for a Developer or DevOps Interview where YAML skills are required. At the very minimum you should know how to read YAML and how to write YAML, particular declaring list and key-value pair in YAML. It's not a big topic but knowing basic really help during interview.

If you have a DevOps or Developer interview coming up where YAML skill is require and you are looking for common, frequently asked YAML questions then you are at the right place. Earlier, I have shared DevOps interview questions, Ansible, Jenkins and Kubernetes interview questions and in this article, I am going to share common YAML interview questions with answers. ca

If you have worked or used YAML in past then you can easily answer these question but if you stuck then you can also join a good YAML course on Udemy to learn basics in quick time. If you need recommendation then you can checkout this list of best YAML courses where I have shared my favorite online courses to learn YAML quickly. 

The list contains YAML courses from Udemy, Pluralsight, and other platforms. You can join one or more courses to learn YAML in depth. 



20 YAML Interview Questions and Answers for DevOps

After going through this article, a YAML interview is no longer going to be a problem for you. You have been failing because you just didn’t know what you were supposed to do. What you have not been doing is preparing. Preparation entails knowing the right questions that are usually asked in the interview and also having confidence in yourself. For that reason, the top 20 YAML interview questions with answers are as follows:


1. What are anchors used for in YAML?
Answer: Anchors are used in YAML to create aliases for pieces of data. This can be useful when you want to reuse a section of data multiple times without having to duplicate it.


2. What is the best way to represent floating point numbers in YAML?
Answer: The best way to represent floating point numbers in YAML is to use the “!!float” tag. This tag tells the YAML parser that the value should be parsed as a floating point number.


3. What is a YAML file and how do we use it in Ansible?
Answer: YAML or files are like any formatted text file with few sets of rules just like JSON or XML. Ansible uses this syntax for playbooks as it is more readable than other formats.


4. What is Ansible Tower and what are some of its features?
Answer: Ansible Tower is an enterprise-level solution by RedHat. It provides a web-based console and REST API to manage Ansible across teams in an organization. There are many features such as

  • Workflow Editor – We can set up different dependencies among playbooks, or running multiple playbooks maintained by different teams at once
  • Real-Time Analysis – The status of any play or tasks can be monitored easily and we can check what’s going to run next
  • Audit Trail – Tracking logs are very important so that we can quickly revert back to a functional state if something bad happens.
  • Execute Commands Remotely – We can use the tower to run any command to a host or group of hosts in our inventory.


5. What happens if an empty array is specified inside a mapping?
Answer: If an empty array is specified inside a mapping, it will be ignored.


6. What are handlers?
Answer: Handlers are like special tasks which only run if the Task contains a “notify” directive.


7. Does Ansible use YAML or JSON files?
Answer: Ansible uses YAML for writing playbooks by default. Ansible does not support json format as YAML is easy to read and write with the human-readable data format. Ansible playbooks contain yaml code to play and automate the process



8. What are the features of Ansible?
Answer: It has the following features:

  • Agentless – Unlike puppet or chef there is no software or agent managing the nodes.
  • Python – Built on top of python which is very easy to learn and write scripts and one of the robust programming languages.
  • SSH – Passwordless network authentication which makes it more secure and easy to set up.
  • Push architecture – The core concept is to push multiple small codes to configure and run the action on client nodes.
  • Setup – This is very easy to set up with a very low learning curve and any open source so that anyone can get hands-on.
  • Manage Inventory – Machines’ addresses are stored in a simple text format and we can add different sources of truth to pull the list using plugins such as Openstack, Rackspace, etc.


9. What is Configuration Management?
Answer: It’s a practice that we should follow in order to keep track of all updates that are going into the system over a period of time. This also helps in a situation where a major bug has been introduced to the system due to some new changes and we need to fix it with minimum downtime. Instead of fixing the bug, we can roll back the new changes (which caused this bug) as we have been tracking those.


10. What is a YAML file and how do we use it in Ansible?
Answer: YAML or files are like any formatted text file with few sets of rules just like JSON or XML. Ansible uses this syntax for playbooks as it is more readable than other formats.


11. What is Ansible Vault?
Answer: Ansible vault is used to keep sensitive data such as passwords instead of placing it as plaintext in playbooks or roles. Any structured data file or any single value inside the YAML file can be encrypted by Ansible.


12. How does the Ansible firewalld module work?
Answer: Ansible firewalld is used to manage firewall rules on host machines. This works just as Linux firewalld daemon for allowing/blocking services from the port. It is split into two major concepts

  • Zones: This is the location to which we can control which services are exposed to or a location to which one the local network interface is connected.
  • Services: These are typically a series of port/protocol combinations (sockets) that your host may be listening on, which can then be placed in one or more zones.


13. How can we delegate tasks in Ansible?
Answer: Task delegation is an important feature of Ansible since there might be use cases where we would want to perform a task on one host with reference to other hosts. We can do this using the delegate_to keyword.


14. What are some real-world use cases of YAML?
Answer: YAML is often used for configuration files, since it is easy for humans to read and write. It is also used in data serialization, for example in storing data for AJAX calls in web applications.


15. Why do we need a data serialization language like YAML?
Answer: Data serialization is the process of converting data structures or objects into a format that can be stored and transmitted. This is necessary because different computers and programming languages often store and handle data differently. YAML is one of many data serialization languages that help to make data transfer possible between different systems.


16. Is it possible to use arrays in YAML? If yes, then how?
Answer: Yes, it is possible to use arrays in YAML. Arrays can be created using either the standard YAML syntax or the shorthand syntax. To create an array using the standard syntax, you will need to use the “-” character followed by a space, and then the value that you want to add to the array.


17. Is it possible to create comments in YAML? If so, then how can this be done?
Answer: Yes, it is possible to create comments in YAML. To do so, you simply need to use the “#” symbol at the beginning of the line that you want to be considered a comment.


18. Are there any limitations when using YAML with Python?
Answer: Yes, there are a few limitations. One is that YAML cannot support all of Python’s data types. For example, YAML cannot support Python’s complex data types, such as tuples and dictionaries with nested lists. Additionally, YAML cannot support Python’s class objects.


19. Which version of YAML is supported by Salesforce?
Answer: Salesforce supports version 1.1 of YAML.


20. What’s the difference between YAML and YML?
Answer: YAML and YML are both ways of writing data in a human-readable format. YAML is the more common of the two, and is generally used for configuration files and data serialization. YML is a subset of YAML, and is often used for configuration files as well.


Lastly, would encourage you to keep on going through these questions with answers until you feel everything is at your fingertips. That will be the best thing you will have to do for yourself as far as the YAML interview that is ahead of you is concerned. Observe that and success will be all yours come that day.

No comments:

Post a Comment

Feel free to comment, ask questions if you have any doubt.