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, where N represents the sequence number starting at 2 (e.g., DevOps_Engineer_2.md).
  • <SpecificRole>.md – Used for specialized positions such as Release_Engineer.md or SRE.md when 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 .md extension and follow the pattern <Role>.md or <Role>_<N>.md depending 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, while Others/ stores anonymous submissions.
  • Numeric suffixes start at 1 for 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →