ISE · Introduction to Software Engineering

Chapter 08 · DevOps Practices

សំណួរ 10

ទំព័រនេះមិនបង្ហាញចម្លើយទេ។ ប្រើសំណួរទាំងនេះដើម្បីរំលឹកមេរៀន រួចពិនិត្យខ្លួនឯងជាមួយក្វីសសាកល្បងនៅចុងស្លាយ។
  1. សំណួរទី 1

    At every sprint review the Club Hub team looks at its release count, lead time and failed releases. Which CALMS pillar is this?

    • Culture
    • Automation
    • Measurement
    • Sharing
  2. សំណួរទី 2

    After <code>git merge origin/main</code> a file contains <code><<<<<<< HEAD</code>, <code>=======</code> and <code>>>>>>>></code> lines. What is the correct next step?

    • Run <code>git merge --continue</code> immediately
    • Keep the intended code, delete the marker lines, build and run the tests, then <code>git add</code> and <code>git commit</code>
    • Delete the file and commit
    • Push the file as it is so the reviewer can decide
  3. សំណួរទី 3

    Which statement describes trunk-based development?

    • Each release has its own long-lived branch
    • Developers integrate into main at least daily, using very short-lived branches or none, with unfinished work behind feature flags
    • Only the team lead may commit to main
    • Branches are merged at the end of the sprint
  4. សំណួរទី 4

    <code>main</code> requires one approval and the checks <code>build (gcc)</code> and <code>build (clang)</code>. A reviewer approves, but the Clang job is red. What happens?

    • The PR can be merged because it is approved
    • GitHub merges it automatically
    • The PR cannot be merged until the Clang job is green
    • The approval is converted into a failing check
  5. សំណួរទី 5

    What does <code>target_compile_options(clubhub_core PRIVATE -Wall -Wextra -Werror)</code> do?

    • Enables optimisation for the whole project
    • Turns warnings into build errors when compiling the <code>clubhub_core</code> sources
    • Hides all warnings of GoogleTest
    • Makes the tests run in parallel
  6. សំណួរទី 6

    A CI matrix lists compilers <code>[gcc, clang]</code> and build types <code>[Debug, Release]</code>. How many jobs run per push?

    • 1
    • 2
    • 4
    • 8
  7. សំណួរទី 7

    What is the difference between continuous delivery and continuous deployment?

    • There is none, they are synonyms
    • Delivery keeps every passing change releasable and a person decides when to release; deployment releases every passing change automatically
    • Delivery is for web apps, deployment for C++ programs
    • Deployment skips the automated tests
  8. សំណួរទី 8

    Why does a container start faster and weigh less than a virtual machine?

    • It is compiled with -O3
    • It shares the host operating system kernel instead of booting a full guest OS
    • It has no file system
    • It runs only one thread
  9. សំណួរទី 9

    A teammate pushed the SMTP password for event reminders in <code>config.env</code>. What must the team do first?

    • Delete the file in a new commit
    • Make the repository private
    • Revoke or rotate the password, then remove it from the history and add the file to <code>.gitignore</code>
    • Nothing, if no one has cloned the repository yet
  10. សំណួរទី 10

    In one month a team made 10 releases; 2 of them needed a hotfix or rollback. What is the change failure rate?

    • 2 %
    • 5 %
    • 20 %
    • 80 %