Add coding questions

Also removed a couple of questions I added in the past but didn't really like.
This commit is contained in:
abregman 2019-10-22 21:32:47 +03:00
parent c5639e3b02
commit 68cdc59d7a
2 changed files with 47 additions and 23 deletions

View File

@ -3,7 +3,7 @@
:information_source:  This repository contains interview questions on various DevOps related topics :information_source:  This repository contains interview questions on various DevOps related topics
:bar_chart:  There are currently **399** questions :bar_chart:  There are currently **400** questions
:warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :) :warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :)
@ -45,6 +45,7 @@
<td align="center"><a href="#openstack"><img src="images/openstack.png" width="75px;" height="75px;" alt="openstack"/><br /><b>OpenStack</b></a><br /><sub><a href="#openstack-beginner">Beginner :baby:</a></sub><br><sub><a href="#openstack-advanced">Advanced :star:</a></sub></td> <td align="center"><a href="#openstack"><img src="images/openstack.png" width="75px;" height="75px;" alt="openstack"/><br /><b>OpenStack</b></a><br /><sub><a href="#openstack-beginner">Beginner :baby:</a></sub><br><sub><a href="#openstack-advanced">Advanced :star:</a></sub></td>
<td align="center"><a href="#security"><img src="images/security.png" width="75px;" height="75px;" alt="security"/><br /><b>Security</b></a><br /><sub><a href="#security-beginner">Beginner :baby:</a></sub><br><sub></td> <td align="center"><a href="#security"><img src="images/security.png" width="75px;" height="75px;" alt="security"/><br /><b>Security</b></a><br /><sub><a href="#security-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#puppet"><img src="images/puppet.png" width="75px;" height="75px;" alt="puppet"/><br /><b>Puppet</b></a><br /><sub><a href="#puppet-beginner">Beginner :baby:</a></sub><br><sub><a href="#puppet-advanced">Advanced :star:</a></sub></td> <td align="center"><a href="#puppet"><img src="images/puppet.png" width="75px;" height="75px;" alt="puppet"/><br /><b>Puppet</b></a><br /><sub><a href="#puppet-beginner">Beginner :baby:</a></sub><br><sub><a href="#puppet-advanced">Advanced :star:</a></sub></td>
<td align="center"><a href="#coding"><img src="images/coding.png" width="75px;" height="75px;" alt="coding"/><br /><b>Coding</b></a><br /><sub><a href="#coding-beginner">Beginner :baby:</a></sub><br><sub><a href="#coding-advanced">Advanced :star:</a></sub></td>
</tr> </tr>
</table> </table>
</center> </center>
@ -116,18 +117,6 @@ You may use one or all of the following:
* architecture aspects - agent vs. agentless, master vs. masterless, etc. * architecture aspects - agent vs. agentless, master vs. masterless, etc.
</b></details> </b></details>
<details>
<summary>What the difference between VPN and VPS?</summary><br><b>
</b></details>
<details>
<summary>What scripting language are you familiar with? why specifically this one?</summary><br><b>
</b></details>
<details>
<summary>How long do you think it would take you to learn another language?</summary><br><b>
</b></details>
<details> <details>
<summary>Explain mutable vs. immutable infrastructure</summary><br><b> <summary>Explain mutable vs. immutable infrastructure</summary><br><b>
@ -183,10 +172,6 @@ which follows the immutable infrastructure paradigm.
<summary>How would you structure/implement CD for an application which depends on several other applications?</summary><br><b> <summary>How would you structure/implement CD for an application which depends on several other applications?</summary><br><b>
</b></details> </b></details>
<details>
<summary>Explain what are design patterns. Which design patterns are you familiar with?</summary><br><b>
</b></details>
<details> <details>
<summary>How do you measure your CI/CD quality? Are there any metrics you are using?</summary><br><b> <summary>How do you measure your CI/CD quality? Are there any metrics you are using?</summary><br><b>
</b></details> </b></details>
@ -1635,6 +1620,44 @@ Swarm management which means you can create new swarms in Docker Cloud.
<summary>Do you know how to create a new user without using adduser/useradd command?</summary><br><b> <summary>Do you know how to create a new user without using adduser/useradd command?</summary><br><b>
</b></details> </b></details>
## Coding
<a name="coding-beginner"></a>
#### :baby: Beginner
<details>
<summary>What programming language do you prefer to use for DevOps related tasks? Why specifically this one?</summary><br><b>
</b></details>
<details>
<summary>What is Object Oriented Programming? Why is it important?</summary><br><b>
</b></details>
<details>
<summary>Explain recursion</summary<br><b>
</b></details>
<details>
<summary>Explain what are design patterns and describe three of them in detail</summary><br><b>
</b></details>
<details>
<summary>Explain big O notation</summary><br><b>
</b></details>
##### Strings
<details>
<summary>In any language you want, write a function to determine if a given string is a palindrome</summary><br><b>
</b></details>
<a name="coding-advanced"></a>
#### :star: Advanced
<details>
<summary>Name 3 design patterns. Do you know how to implement (= provide an example) these design pattern in any language you'll choose?</summary><br><b>
</b></details>
## Python ## Python
<a name="python-beginner"></a> <a name="python-beginner"></a>
@ -1959,11 +1982,6 @@ def reverse_string(string):
``` ```
</b></details> </b></details>
<details>
<summary>Write a function to determine if a given string is a palindrome</summary><br><b>
</b></details>
<details> <details>
<summary>How to sort a dictionary by values?</summary><br><b> <summary>How to sort a dictionary by values?</summary><br><b>
</b></details> </b></details>
@ -2314,6 +2332,11 @@ If you want to get "101" you should use the package "strconv" and replace <code>
<details> <details>
<summary>What is the difference between SQL and NoSQL?</summary><br><b> <summary>What is the difference between SQL and NoSQL?</summary><br><b>
The main difference is that SQL databases are structured (data is stored in the form of
tables with rows and columns - like an excel spreadsheet table) while NoSQL is
unstructured, and the data storage can vary depending on how the NoSQL DB is set up, such
as key-value pair, document-oriented, etc.
</b></details> </b></details>
<details> <details>
@ -2321,6 +2344,7 @@ If you want to get "101" you should use the package "strconv" and replace <code>
* Heterogeneous data which changes often * Heterogeneous data which changes often
* Data consistency and integrity is not top priority * Data consistency and integrity is not top priority
* Best if the database needs to scale rapidly
</b></details> </b></details>
<details> <details>
@ -2643,7 +2667,7 @@ Inner JOIN cat_food f <br>
ON c.Customer_ID = f.Customer_ID <br> ON c.Customer_ID = f.Customer_ID <br>
where c.Customer_ID in (Select Customer_ID from cat_food); where c.Customer_ID in (Select Customer_ID from cat_food);
Although this was a simple statement, the "with" clause really shines is when Although this was a simple statement, the "with" clause really shines when
a complex query needs to be run on a table before joining to another. With statements are nice, a complex query needs to be run on a table before joining to another. With statements are nice,
because you create a pseudo temp when running your query, instead of creating a whole new table. because you create a pseudo temp when running your query, instead of creating a whole new table.

BIN
images/coding.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB