Giter VIP home page Giter VIP logo

bregman-arie / devops-exercises Goto Github PK

View Code? Open in Web Editor NEW
64.7K 64.7K 14.3K 4.37 MB

Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions

License: Other

Shell 13.59% Groovy 1.82% Python 64.93% HTML 6.24% HCL 13.42%
ansible aws azure coding containers devops docker git interview interview-questions kubernetes linux openstack production-engineer prometheus python sql sre terraform

devops-exercises's People

Contributors

adrianfusco avatar ahghanima avatar apuzyrevsky avatar atai avatar austinsonger avatar bakossandor avatar bregman-arie avatar c-lonas avatar chimons avatar cloudgrimm avatar djeada avatar ismferd avatar kevinadhiguna avatar laumane avatar mcjacko avatar mohamedharoon98 avatar popopo19 avatar prajwalmithun avatar rahulsharma0810 avatar renatocfrancisco avatar sagorbrur avatar salegajic avatar sha016 avatar stefan-matic avatar surister avatar susenj avatar thejoycekung avatar wereduk avatar willthedeveloper avatar zdj21jdz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devops-exercises's Issues

Add basic CI

We already have some scripts in the scripts directory. It would be good to run them for every PR.
This is also a great task for beginners.

Add a command to run `run_ci.sh` in CONTRIBUTING.md

Hi, I would like to ask about this section.

Before submitting the pull request

You can test your changes locally with the script run_ci.sh in scripts directory.


I would like to add a command to run run_ci.sh :

Before submitting the pull request

You can test your changes locally with the script run_ci.sh in scripts directory. Run the command below in project root directory :

$ sh scripts/run_ci.sh

Reason

This is the content of run_ci.sh :

#!/bin/bash
# These are the same steps we are running in Travis CI

python tests/syntax_lint.py
flake8 --max-line-length=100 . && echo "PEP8 Passed"

If I execute sh run_ci.sh in scripts directory, it will throw an error :

/home/user/pyenv/versions/3.8.12/bin/python: can't open file 'tests/syntax_lint.py': [Errno 2] No such file or directory
PEP8 Passed

Proposed Solution

Either :

  1. Ask users to execute sh scripts/run_ci.sh in project root directory.

or

  1. Change run_ci.sh :
#!/bin/bash
# These are the same steps we are running in Travis CI

-python tests/syntax_lint.py
+python ../tests/syntax_lint.py
flake8 --max-line-length=100 . && echo "PEP8 Passed"

Thank you. Any suggestion is appreciated.

Python begginer question: 'Function to show muttability'

Interview question: What function can you use to show that a certain data type is mutable?

The given answer is: The id function can be used to check if a given variable is mutable or not.

... How? The id function basically returns the memory address of the object, so, how can we tell whether an object is mutable or not by using id()?

Let's define immutability.

immutable

An object with a fixed value. Immutable objects include numbers, strings and tuples. Such an object cannot be altered. A new object has to be created if a different value has to be stored. They play an important role in places where a constant hash value is needed, for example as a key in a dictionary.

Builtin objects.

Mutable: list, dict ...

Immutable: int, float, str, tuple...

Only immutable objects can be used as dictionaries keys, in order to compare the keys, the objects are hashed and compared, could we say that hashable objects are inmutable?

Most of Python’s immutable built-in objects are hashable; mutable containers (such as lists or dictionaries) are not; immutable containers (such as tuples and frozensets) are only hashable if their elements are hashable. Objects which are instances of user-defined classes are hashable by default. They all compare unequal (except with themselves), and their hash value is derived from their id().

Looks like yes, hashable objects are immutable but...

Python data model

The value of some objects can change. Objects whose value can change are said to be mutable; objects whose value is unchangeable once they are created are called immutable. (The value of an immutable container object that contains a reference to a mutable object can change when the latter’s value is changed; however the container is still considered immutable, because the collection of objects it contains cannot be changed. So, immutability is not strictly the same as having an unchangeable value, it is more subtle.)
> An object’s mutability is determined by its type; for instance, numbers, strings and tuples are immutable, while dictionaries and lists are mutable.

So, a given object is inmutable if it can be hashed. Well, it is not always true. You can still have a user defined class that is hashable and mutable by modifying __hash__ and __eq__

Proposed answer: 'You can usually use the function hash() to check an object mutability, if it is
hashable it is immutable, although this does not always work as intended as user defined objects might be mutable and hashable'

Possible typo and a dead link.

Thought I bring attention to these since I came across them.

  • The definition for prometheus server reads wrong to me. Rough location: README.md -> Prometheus -> Describe Prometheus component - Server

Prometheus server responsible for scraping the storing the data

  • There is this repo's github link prefixed to what I assume is supposed to be just link to mongodb website. The link is in credits.md file for Mongo logo.

Test suite

Issue merges from #50 .

While trying to do a simple bash script of this I came across many problems since there are many ways of spacing/formatting within the same layout, the bash script was getting a bit bloated and decided to make it in python.

One of the issues of counting questions and answers are typos. So I wrote a test suit to check for these, it's working great.

imagen

Notice the missing '/' from the closing summary tag.

So my new proposal is:

  • Add #50 (Already aproved)
  • Create test suite where we will be checking:
    1. typos in tags
    2. layout correctly followed
    3. Correct number of answered questions count
    4. Correct number of question count (The bash script that counts questions may not be counting correctly due to typos in tags)

Having this test suit will allow us to check our commits before pushing thus improving the general quality.

Also we could land a CI pipe for new pull requests, offering faster feedback to contributors.

## Python/Regex fix

This is a reminder for me or a task if anyone wants :P

imagen

Basically, The last two questions aren't really regex's questions.

To do:

  • Move said questions to correct place.
  • Add new regex questions (Python related!)?
  • Maybe add a new ## Regex section, as it is a valuable skill any IT profesional should have.

Question about contribution and merging

Hey guys,

We are Aksel and Abdullah, two MSc students at KTH and we find this open source repo interesting.

We want to contribute with question related to DevSecOps. More specifically about software supply chain security and dependency management. Our aim is to read research papers and company documentations related to the topics and then formulate relevant questions and answers for this repo.

Since this is a course project, we need it to be merged due Tuesday 3/5/2022 5 pm CET as of the task deadline. Therefore it would be great if someone could confirm that this is possible (given that the questions and answers we have written are approved).

All the best,
Aksel and Abdullah

(https://www.linkedin.com/in/aksel-uhr/)
(https://www.linkedin.com/in/abdullahcse/)

Create an image for "scenario questions" section

I don't have experience in creating logos or icons and I don't want to copy other's work. So if anyone has experience in this area and can create an image for the "scenario questions" section it would be much appreciated. Thanks.

translation of the project

Hello everyone, I also propose to start working on the translation of these documents into other languages

Suggestion: Perl topic

Maybe we can add some questions related with Perl (Perl, Cpan, DBIx, Mojolicious). It's still used in some projects even in big corporations. What do you think?

Some examples:

  • Perl
    • What is Perl?
    • Perl data types.
    • Perl operators.
    • What is a Perl subroutine? Different ways to call a Perl subroutine.
    • Lexical and dynamic scoping. Purpose of the local and my operator.
    • Perl referencing and dereferencing.
    • Perl filehandle.
    • Perl regex.
    • Perl system calls and open3.
    • Perl modules. Difference between .pl and .pm extensions.
  • Perl OOP
    • How can you define a Perl class?
    • What is a package?
    • What is the purpose of the bless function?
    • Perl Inheritance and SUPER
    • Method overriding
  • CPAN
    • What is CPAN?
    • How to install modules with CPAN?

Suggestion: Add number of answered questions.

In the head of the README.md we can read:

📊 There are currently 551 questions

My suggestion is to add the number of answered questions as well in a format somewhat like this:

📊 There are currently 551 questions - 349 are answered, why don't you help us to expand this number? [link to contributing.md]

DevOpsBit Formatting Issues

  • Was checking the new DevOpsBit site you created and saw there was some formatting issues w/ the SQL questions I made on the site - Markdown isn't coming through properly, as shown below

image

  • Additionally, some of the longer questions (such as the ACID definition) aren't showing up because they're so long.

Great Repo - Thank you.

This should be a required class for all CS majors.

thank you for providing, i've sent the link to my son

[Suggestion] WebPage For Reader

HI,

This Project is awesome and I really like it, But it lacks readability. especially in the case of new question updates, will it be possible to publish this repo as web/Github Pages? Or publish a page for example every week for new questions only.

Example: https://rahulsharma0810.github.io/devops-exercises/

I used pandoc to generate HTML (with some styles), But there is a challenge of keeping the newest question on top or on a different page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.