Reinforce 305-300 concepts with active-recall study cards covering all 3 blueprint domains. Each card shows the question on the front and the correct answer with a full explanation on the back.
Flashcards work through active recall — the process of retrieving information from memory rather than passively re-reading it. Research consistently shows that active recall produces stronger, longer-lasting memory than re-reading study guides. For 305-300 preparation, this means flashcards are one of the highest-return study tools available.
Attempt recall first
Read the 305-300 question on each card, pause, and attempt to formulate the answer in your own words before revealing. This retrieval attempt — even if wrong — dramatically strengthens memory compared to immediately reading the answer.
Review wrong cards again
When you get a card wrong, note it and add it back to your review pile. Spaced repetition — seeing difficult cards more frequently — is the mechanism that makes flashcard study far more efficient than linear reading.
Study by domain
Group your 305-300 flashcard sessions by domain for the first 3–4 weeks. Master one domain before moving to the next. In the final week, shuffle all cards together to test cross-domain recall — which is what the real 305-300 exam requires.
Short sessions beat marathon reviews
20–30 flashcard cards per session, done daily, produces better retention than a single 200-card marathon session. Five short daily sessions per week over 4 weeks gives you over 400 total card reviews — enough to reliably pass 305-300.
Sample cards from the 305-300 flashcard bank. Read the question, think of the answer, then read the explanation below.
Which command is used to list all defined virtual networks in Libvirt?
virsh net-list --all
The `virsh net-list --all` command queries libvirt's virtual network driver and displays every network defined in the hypervisor, including those that are currently inactive. The `--all` flag is essential because without it, virsh only shows networks that are actively running. This is the canonical libvirt-native way to enumerate virtual networks, as opposed to inspecting the underlying Linux bridge layer.
You are troubleshooting a Docker container that cannot reach the internet despite the host having connectivity. The container uses the default bridge network. Which iptables chain is most likely causing the block?
FORWARD
Docker's default bridge network relies on the host's FORWARD chain to route packets between the docker0 bridge and the external interface. If the FORWARD chain's default policy is DROP (common on hardened hosts or when firewalld/ufw is misconfigured), container traffic is silently dropped even though the host itself has internet access. Docker normally inserts its own DOCKER-USER and DOCKER-FORWARD rules to permit this, but a conflicting firewall rule or a policy change can override them.
In a Packer build process for OpenStack, which 'post-processor' type is typically used to upload the resulting image to the Glance image service?
openstack
Packer's `openstack` post-processor takes the artifact produced by the builder (typically a qcow2 or raw image) and uploads it to the OpenStack Glance image service, registering it as a bootable image. It handles authentication against Keystone and can set image metadata such as name, visibility, and tags. This makes it the standard way to publish a Packer-built image into an OpenStack cloud.
Which component is responsible for the actual hardware-assisted virtualization in KVM?
KVM kernel module
The KVM kernel module (kvm.ko and hardware-specific modules like kvm_intel or kvm_amd) is responsible for hardware-assisted virtualization. It leverages CPU virtualization extensions (Intel VT-x or AMD-V) to execute guest code directly on the host CPU while trapping privileged instructions. This provides near-native performance for virtual machines.
You are managing an LXC container and need to create a snapshot of the container's root file system. Which command achieves this?
lxc-snapshot -n container_name
The `lxc-snapshot -n <container_name>` command creates a snapshot of an LXC container's root filesystem. It is the standard LXC utility for snapshotting containers, allowing you to capture the current state of the container's filesystem for backup or rollback purposes.
Which of these is a valid virtualization storage pool type supported by libvirt?
dir
libvirt supports several storage pool types, including 'dir' (directory), 'disk', 'fs', 'logical', 'netfs', 'iscsi', 'scsi', 'mpath', 'rbd', 'sheepdog', and 'gluster'. The 'dir' type is a directory-based storage pool that uses a local directory to store volume files. Options like 'cpu', 'interface', and 'network' are not storage pool types; they are related to other libvirt objects such as CPU models, network interfaces, and virtual networks.
Which Docker network driver should you use if you want containers to have their own IP addresses on the physical network, as if they were physically connected to the network?
macvlan
The macvlan driver assigns each container a unique MAC address and IP address on the physical network, making containers appear as physical devices to the network. This is exactly the behavior described — containers get their own IPs on the physical network.
In systemd-nspawn, how do you specify a different root directory for the container?
-D
The -D flag (long form --directory) in systemd-nspawn specifies the root directory for the container. This is the documented option for pointing nspawn at a directory tree that should be used as the container's filesystem root. For example, 'systemd-nspawn -D /var/lib/machines/mycontainer' boots the container using that path as its root.
You need to inspect the metadata of a specific Docker image without pulling it from a remote registry. Which command should you use?
docker manifest inspect
'docker manifest inspect' queries the registry's manifest API directly and returns metadata such as platform variants, digests, and layer information without downloading the image layers. It is the correct tool for inspecting a remote image's metadata without pulling it.
In a Vagrantfile, which method is used to pass environment variables into the guest virtual machine during the provisioning phase?
config.vm.provision "shell", env: { "VAR" => "value" }
In a Vagrantfile, environment variables are passed to a shell provisioner using the `env` option on the provisioner block: `config.vm.provision "shell", env: { "VAR" => "value" }`. This injects the variables into the environment of the provisioning script running inside the guest. It is the documented, supported way to make host-side values available to guest provisioning.
How do you view the logs of a running container?
docker logs [container]
The correct command to view the logs of a running container is `docker logs [container]`. This command retrieves the standard output (stdout) and standard error (stderr) from the container's main process, which Docker captures and stores using a logging driver (default is json-file). It works for both running and stopped containers, and options like `-f` (follow) and `--tail` allow real-time monitoring or limiting output.
Which instruction in a Dockerfile is best suited for installing packages to minimize image size?
RUN apt-get update && apt-get install -y package && rm -rf /var/lib/apt/lists/*
The RUN instruction with apt-get update, install, and cleanup in a single layer is best because it prevents the apt package lists from being stored in the final image. By combining update, install, and rm -rf /var/lib/apt/lists/* in one RUN, Docker creates a single layer where the lists are downloaded, used, and then deleted before the layer is committed. This minimizes image size because the intermediate files never persist in any layer. Other options either don't install packages (COPY, CMD) or leave cached lists in the image (RUN without cleanup).
Which command allows you to enter an existing running container and execute a new command inside it?
docker exec
The `docker exec` command runs a new process inside an already-running container, which is exactly what is needed to enter a container and execute a command such as a shell. For example, `docker exec -it <container> /bin/bash` opens an interactive shell inside the running container without stopping or restarting it. This is the standard, non-disruptive way to access a running container.
You are troubleshooting a KVM guest that fails to start with the error 'unsupported configuration: CPU mode 'host-passthrough' requires KVM'. Which of the following is the most likely cause?
The guest is configured to use a CPU mode that is only supported by the KVM hypervisor, but the hypervisor is not KVM (e.g., QEMU TCG).
The error 'unsupported configuration: CPU mode 'host-passthrough' requires KVM' occurs when the guest is configured with <cpu mode='host-passthrough'/> but libvirt is not using the KVM hypervisor. This can happen if KVM is not enabled on the host, or if the domain XML explicitly sets a different hypervisor type. host-passthrough exposes the host CPU model and features directly to the guest, which is only possible with hardware virtualization.
What is the purpose of the 'rkt' (Rocket) container runtime?
To run pods in a secure, pluggable manner
The 'rkt' (Rocket) container runtime was developed by CoreOS as an alternative to Docker, designed to run application containers (often grouped into pods) with a strong focus on security, composability, and adherence to open standards. It implements a pluggable execution model where different isolation mechanisms (e.g., KVM, cgroups) can be used, and it supports pod-level networking and image formats like ACI (App Container Image). Its primary purpose is to securely and portably run containerized workloads, especially pods, in a pluggable manner.
Which command shows the history of layers in a Docker image?
docker history
The `docker history` command displays the complete layer history of a Docker image, showing each intermediate layer created by the Dockerfile instructions, along with the layer ID, creation time, size, and the command that created it. This is the standard way to inspect how an image was built and identify which layers consume the most space.
Which libvirt network type uses a bridge on the host to connect virtual machines directly to the physical network?
bridge
A libvirt network of type 'bridge' uses an existing host bridge (e.g., br0) to connect guest interfaces directly to the physical LAN. The guests obtain IPs from the same DHCP server as the host and appear as peers on the physical network. This is the standard way to give VMs routable, first-class network presence.
You are running a Docker container and need to map port 8080 on the host to port 80 in the container. Which command argument should you use?
-p 8080:80
The -p flag (short for --publish) maps a host port to a container port using the format -p HOST_PORT:CONTAINER_PORT. Since the requirement is to expose container port 80 on host port 8080, the correct syntax is -p 8080:80. Docker's port publishing always places the host port on the left of the colon and the container port on the right.
When using 'docker-compose', which file format is used to define the services?
YAML
Docker Compose uses YAML (Yet Another Markup Language / YAML Ain't Markup Language) files, conventionally named docker-compose.yml or compose.yaml, to define services, networks, volumes, and build contexts. YAML's indentation-based structure maps cleanly to Compose's nested service definitions. INI, XML, and JSON are not supported by Compose for its primary configuration file.
What is the default behavior of Vagrant when a box is not found locally on the host machine?
It downloads it from the Vagrant Cloud
When Vagrant is asked to bring up a machine and the specified box is not present locally, it automatically attempts to download the box from the configured box repository, which by default is Vagrant Cloud (formerly Atlas). This behavior is controlled by the box_url or the shorthand box name in the Vagrantfile, and Vagrant will fetch the box metadata and then the box file itself. No user prompt is required unless the box is not found in the repository or there is an ambiguity.
The 305-300 flashcard bank covers all 3 official blueprint domains published by LPI. Cards are distributed proportionally, so domains with higher exam weight have more cards.
Domain Coverage
Full Virtualization
Container Virtualization
VM Deployment And Provisioning
Both flashcards and practice questions are evidence-based study tools. The difference is in what they train:
Flashcards — concept retention
Best for memorising definitions, acronyms, protocol behaviours, command syntax, and conceptual distinctions. Use flashcards to build the foundational vocabulary that 305-300 questions assume you know.
Best in: weeks 1–3
Practice tests — application
Best for applying concepts to realistic scenarios, eliminating distractors, and building exam stamina.305-300 questions test scenario reasoning — not just recall — so practice tests are essential.
Best in: weeks 3–6
The most effective 305-300 study plan combines both: use flashcards for the first 2–3 weeks to build conceptual foundations, then shift to practice tests and mock exams in the final 2–3 weeks to apply and benchmark that knowledge. Most candidates who pass on their first attempt use both tools.
Yes. Courseiva provides free 305-300 flashcards across all official exam domains. Every card includes the correct answer and a full explanation of why it is right and why the distractors are wrong. The platform also includes topic-based practice, mock exams, and readiness tracking — no account required.
Courseiva has 210+ original 305-300 flashcards across all 3 exam blueprint domains. New cards are added regularly as the question bank grows. All cards are checked against the official LPI exam objectives, with editorial oversight from an experienced network and security engineer.
Courseiva flashcards are purpose-built for IT certification exams. Unlike generic flashcard platforms where content quality varies, every Courseiva card is mapped to the official 305-300 exam blueprint, written by engineers who hold the certification, and includes a full explanation of the correct answer and why the distractors are wrong. This explanation quality is what separates genuine learning from rote memorisation.
Courseiva is a web platform — an internet connection is required. For offline study, we recommend creating free Courseiva account, using the platform in your browser, and using your device's offline capabilities if your browser supports offline web apps.
Save your results, see which domains need more work, and get spaced repetition recommendations — all free.
Sign Up FreeFree forever · Every certification included