Naming Conventions for Interview Experience Files in the DevOps Interview Guide
Interview experience files in the DevOps-Interview-Guide repository follow a deterministic pattern of <Role>.md for the first submission and <Role>_<N>.md for subsequent entries, with spaces replaced by underscores and files organized under company-specific folders or an Others/ directory.
The litu54/DevOps-Interview-Guide repository maintains a structured collection of DevOps interview experiences using strict naming conventions for interview experience files. Each submission is stored as a standalone Markdown file within a directory structure that separates experiences by company name. This convention ensures consistent organization and enables automated contributions while keeping the repository flat and searchable.
File Naming Pattern Structure
Primary Naming Rules
Every interview experience file adheres to four deterministic patterns based on role specificity and submission count:
<Role>.md– Indicates the first interview experience for a generic role at a company (e.g.,DevOps_Engineer.md).<Role>_<N>.md– Marks subsequent interviews for the same generic role, whereNrepresents the sequence number starting at 2 (e.g.,DevOps_Engineer_2.md).<SpecificRole>.md– Used for specialized positions such asRelease_Engineer.mdorSRE.mdwhen the role differs from standard DevOps Engineer titles.<SpecificRole>_<N>.md– Applies to additional submissions for specialized roles (e.g.,SRE_2.md).
Character Substitution and Suffix Rules
Two critical formatting rules govern the physical file names:
- Underscore separation – All spaces within role titles are replaced with underscores (
_) to ensure cross-platform compatibility. - Numeric suffixing – A trailing underscore followed by a digit distinguishes multiple experiences for identical roles at the same company. The first submission carries no numeric suffix, while subsequent submissions increment sequentially.
Directory Organization and File Placement
Interview files reside within hierarchical folders that reflect the target company or anonymity status:
- Company folders – Named exactly after the organization (e.g.,
Wipro/,Akamai/,Oracle/), containing all interview experiences specific to that employer. - Fallback directory – Anonymous submissions where the company is undisclosed are stored under the
Others/folder, following identical naming conventions.
This structure keeps the repository flat with exactly one Markdown file representing a single interview experience, as documented in README.md (lines 13–21).
Concrete Examples from the Source Code
The following file paths demonstrate the naming conventions in practice:
| Company Folder | File Name | Description |
|---|---|---|
Wipro/ |
DevOps_Engineer_1.md |
First DevOps Engineer interview experience at Wipro |
Wipro/ |
DevOps_Engineer_2.md |
Second DevOps Engineer interview experience at Wipro |
Akamai/ |
SRE.md |
Single Site Reliability Engineer interview (no numeric suffix required) |
Oracle/ |
DevOps_Engineer_2.md |
Second DevOps Engineer interview experience at Oracle |
Others/ |
DevOps_Engineer_1.md |
Anonymous DevOps Engineer interview using the same naming standard |
Programmatic File Creation
To maintain consistency when adding new interviews, the repository implements logic that automatically detects existing files and appends the appropriate numeric suffix. Below is a Python implementation that mirrors the repository's naming conventions:
import os
import pathlib
def create_interview_file(company: str, role: str, content: str):
"""
Add a new interview-experience markdown file following the repo's naming convention.
- `company` – folder name (e.g., "Wipro" or "Others")
- `role` – role name with spaces replaced by underscores (e.g., "DevOps Engineer")
- `content` – markdown body of the interview experience
"""
base_dir = pathlib.Path(".")
# Ensure the company folder exists
company_path = base_dir / company
company_path.mkdir(parents=True, exist_ok=True)
# Normalise role name
normalized_role = role.replace(" ", "_")
# Determine next available suffix
existing = list(company_path.glob(f"{normalized_role}*.md"))
suffix = ""
if existing:
# Extract numeric parts, find max, then +1
nums = [int(p.stem.split('_')[-1]) for p in existing
if p.stem.split('_')[-1].isdigit()]
next_num = max(nums, default=1) + 1
suffix = f"_{next_num}"
else:
# First file – no suffix
suffix = ""
file_name = f"{normalized_role}{suffix}.md"
target_path = company_path / file_name
target_path.write_text(content, encoding="utf-8")
print(f"Created: {target_path}")
# Example usage
create_interview_file(
company="AcmeCorp",
role="DevOps Engineer",
content="# AcmeCorp\n\n- Sample interview question..."
)
This script handles the underscore normalization, numeric incrementation, and directory creation required by the litu54/DevOps-Interview-Guide repository structure.
Summary
- Interview experience files use the
.mdextension and follow the pattern<Role>.mdor<Role>_<N>.mddepending on submission sequence. - Space characters in role titles must be replaced with underscores (
_) to ensure valid file names. - Company-specific folders (e.g.,
Wipro/,Oracle/) organize content by employer, whileOthers/stores anonymous submissions. - Numeric suffixes start at
1for the initial submission and increment for subsequent experiences of the same role at the same company. - The naming convention is documented in
README.md(lines 13–21) and enforced through the repository's contribution guidelines.
Frequently Asked Questions
What file extension is used for interview experience files?
All interview experiences in the repository are stored as Markdown files with the .md extension. This format ensures compatibility with GitHub's rendering engine and maintains consistency across the litu54/DevOps-Interview-Guide collection.
How does the repository handle multiple interviews for the same role?
The convention appends a numeric suffix preceded by an underscore to distinguish subsequent submissions. The first interview for a role uses <Role>.md, while the second uses <Role>_2.md, the third <Role>_3.md, and so on, as implemented in the create_interview_file function logic.
Where should contributors place anonymous interview experiences?
Anonymous submissions where the company name is withheld or unknown must be placed in the Others/ folder at the repository root. These files follow identical naming conventions to company-specific entries (e.g., Others/DevOps_Engineer_1.md).
Are spaces allowed in role names within file names?
No. The repository strictly requires underscore substitution for all spaces in role titles. For example, "DevOps Engineer" becomes DevOps_Engineer.md and "Release Engineer" becomes Release_Engineer.md to ensure cross-platform file system compatibility.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →