Asking ChatGPT to help with a technical interview

I am applying for this role – help me identify what skills, knowledge and experience they are looking for:

(I copy and paste the text into the prompt. You can also attach the file with the +)

This job description points to someone who is a Linux systems administrator with strong hardware support experience, combined with a customer-focused support mindset. The role sits somewhere between Linux Systems Administrator, Infrastructure Engineer, and Hardware Lab Engineer.

Here’s a breakdown of what Graphcore appears to value most.

PrioritySkill/KnowledgeWhat they’re looking for
⭐⭐⭐⭐⭐Linux AdministrationConfident administering Debian/Ubuntu and RedHat-based systems, troubleshooting services, users, permissions, packages, networking, storage, system logs and performance.
⭐⭐⭐⭐⭐TroubleshootingSystematic diagnosis of hardware, OS and networking issues. Ability to isolate root causes rather than just applying fixes.
⭐⭐⭐⭐⭐Customer SupportSupporting engineers in a fast-paced environment, communicating clearly, prioritising tickets, and providing good customer service.
⭐⭐⭐⭐☆Server HardwareInstalling, maintaining and repairing physical servers, firmware updates, BIOS, rack equipment and lab infrastructure.
⭐⭐⭐⭐☆NetworkingPractical networking knowledge including VLANs, VPNs, routing, subnetting and Wi-Fi.
⭐⭐⭐⭐☆Infrastructure AutomationManaging systems using Ansible, Puppet or similar Infrastructure-as-Code tools.
⭐⭐⭐⭐☆DocumentationWriting clear technical documentation and maintaining knowledge bases.
⭐⭐⭐☆☆Performance AnalysisDiagnosing CPU, RAM, storage and network bottlenecks.
⭐⭐⭐☆☆MonitoringUsing tools like Prometheus, Grafana, Zabbix or OpenTelemetry.
⭐⭐⭐☆☆ContainersDocker and Kubernetes basics.
⭐⭐⭐☆☆PythonAutomating tasks, interacting with APIs and writing small utilities.

Technical skills they’re assessing

Linux Administration (probably the biggest area)

They’ll likely expect experience with:

  • Ubuntu/Debian
  • RHEL/Rocky/Alma/CentOS
  • Bash scripting
  • SSH
  • systemd
  • Package management (apt/yum/dnf)
  • User/group management
  • Permissions
  • Storage and filesystems
  • Log analysis
  • Service troubleshooting
  • Kernel updates
  • Remote administration

Interview questions may include:

“A server won’t boot after an update. What do you check?”

or

“A service won’t start. How would you troubleshoot it?”


Hardware & Lab Support

Unlike a typical IT support role, this involves physical hardware.

Knowledge areas include:

  • Rack mounting servers
  • BIOS configuration
  • Firmware updates
  • Replacing disks
  • Memory troubleshooting
  • Cabling
  • Power Distribution Units (PDUs)
  • BMCs (iLO, iDRAC, IPMI)
  • Out-of-band management

They want someone comfortable working around hardware as well as Linux.


Networking

Not a network engineer, but they expect solid fundamentals.

Know:

  • TCP/IP
  • DNS
  • DHCP
  • VLANs
  • VPNs
  • Routing
  • NAT
  • Subnetting
  • Firewalls
  • Switch ports
  • SSH connectivity

Expect troubleshooting questions like:

“A server cannot reach another VLAN.”


Infrastructure as Code

This is a significant clue that they don’t want manual administration.

They mention:

  • Puppet
  • Ansible

So they’d value experience with:

  • Configuration management
  • Automated deployments
  • Playbooks
  • Idempotency
  • Managing large numbers of servers

Monitoring

Nice to have rather than essential.

Experience with:

  • Prometheus
  • Grafana
  • Zabbix
  • Alerting
  • Metrics
  • Logs
  • OpenTelemetry

Containers

Again desirable rather than essential.

Knowledge of:

  • Docker
  • containerd
  • Kubernetes basics
  • Images
  • Containers
  • Volumes
  • Networking

Python

Not software engineering.

They specifically mention:

  • interacting with APIs
  • processing data
  • small applications

So examples like:

  • automation scripts
  • REST API calls
  • log parsing
  • report generation

would be ideal.


Soft skills they repeatedly emphasise

These are mentioned several times, suggesting they matter.

Customer service

You’ll be supporting engineers.

They want someone who:

  • communicates clearly
  • keeps users informed
  • explains technical issues
  • prioritises requests

Methodical troubleshooting

Notice the wording:

“methodical problem-solving”

They care about process.

Examples:

  • Gather information
  • Reproduce issue
  • Form hypotheses
  • Test
  • Verify
  • Document

Documentation

They specifically mention:

maintaining a clear, up-to-date internal knowledge base

This means they value someone who leaves systems easier to support after resolving issues.


Teamwork

The description repeatedly talks about:

  • sharing knowledge
  • multidisciplinary team
  • collaborating
  • supporting colleagues

The ideal candidate probably has experience like:

  • Linux Systems Administrator
  • Infrastructure Engineer
  • Data Centre Technician
  • Hardware Support Engineer
  • DevOps Engineer (junior)
  • Research Computing Support
  • HPC Support Engineer
  • Technical Support Engineer (Linux)

Keywords worth including in your CV

Many applicant tracking systems (ATS) look for relevant terms. Based on the description, these include:

  • Linux Administration
  • Debian
  • Ubuntu
  • Red Hat
  • RHEL
  • Bash
  • Shell Scripting
  • Troubleshooting
  • Root Cause Analysis
  • Server Hardware
  • BIOS
  • Firmware
  • BMC
  • IPMI
  • iDRAC
  • Rack Mounting
  • Infrastructure as Code
  • Ansible
  • Puppet
  • Networking
  • VLAN
  • VPN
  • TCP/IP
  • DNS
  • DHCP
  • Routing
  • Subnetting
  • Docker
  • Kubernetes
  • Python
  • Prometheus
  • Grafana
  • Zabbix
  • Documentation
  • Customer Support
  • Ticket Management
  • Linux Server Support

What I’d infer they’re really hiring for

Beyond the checklist, this role appears to be looking for someone who can act as the “go-to” Linux infrastructure engineer for a hardware lab. You’ll likely spend your time:

  • Supporting engineers who depend on Linux systems for AI hardware development.
  • Keeping servers, lab equipment, and infrastructure available and reliable.
  • Diagnosing issues across hardware, operating systems, and networks.
  • Automating repetitive administration tasks where possible.
  • Working comfortably with both physical equipment in the lab and remote Linux administration.
  • Providing responsive, professional support while documenting solutions for the wider team.

For your application, I’d emphasise examples that demonstrate hands-on Linux administration, structured troubleshooting, automation (especially with Ansible, Puppet, or scripting), networking fundamentals, and experience supporting technical users in a collaborative environment. These align closely with the role’s essential requirements.

Questions

formulate 30 technical interview questions – 5 basic, 15 medium, and 10 advanced – for me to be able to strongly demonstrate my suitability for this role

For this role, I’d expect the interview to focus less on textbook knowledge and more on how you troubleshoot, explain your reasoning, and balance Linux, networking, and hardware support. Below are 30 questions arranged by difficulty that closely reflect what a Graphcore Lab Support Engineer is likely to encounter.


Basic (5)

These establish that you have solid Linux administration fundamentals.

1. What happens during the Linux boot process?

They want to hear about:

  • BIOS/UEFI
  • Bootloader (GRUB)
  • Kernel loading
  • initramfs
  • systemd
  • Starting services

2. How would you find why a Linux service won’t start?

Mention:

  • systemctl status
  • journalctl
  • logs
  • dependencies
  • configuration files
  • permissions
  • ports already in use

3. Explain the difference between a process and a service.

Should cover:

  • Process = running program
  • Service = managed by systemd
  • Background execution
  • Restart policies

4. What is SSH and how would you troubleshoot an SSH connection failure?

Expected discussion:

  • Network connectivity
  • DNS
  • Firewall
  • SSH daemon
  • Authentication
  • Permissions
  • Logs

5. Explain the difference between DHCP and DNS.

A classic support question.


Medium (15)

These are the kinds of questions I’d genuinely expect.


Linux Administration

6. A server suddenly runs very slowly. How would you investigate?

Discuss:

  • CPU
  • RAM
  • Disk I/O
  • Network
  • Load averages
  • Processes

Commands like:

top
htop
vmstat
iostat
iotop
free
sar

7. A filesystem is full. What steps would you take?

Include:

  • df
  • du
  • logs
  • deleted-but-open files
  • inodes
  • cleanup

8. Explain file permissions, ownership and ACLs.


9. How would you diagnose high CPU usage?


10. What is systemd and why is it important?


Networking

11. A server cannot communicate with another server. How do you troubleshoot?

A good structure:

  1. Ping
  2. IP configuration
  3. Routes
  4. DNS
  5. Firewall
  6. Switch
  7. VLAN
  8. Application

12. Explain VLANs.

Not just the definition.

Explain why they’re useful.


13. What is subnetting?

You should be able to calculate one.


14. Explain the difference between TCP and UDP.


15. What happens when you type a website address into a browser?

A favourite interview question.


Hardware

16. A server won’t power on. What checks do you perform?

Expected:

  • PSU
  • Power
  • PDU
  • LEDs
  • BMC
  • Motherboard
  • Memory
  • POST

17. Explain what a BMC is.

Mention:

  • IPMI
  • iLO
  • iDRAC
  • Remote console
  • Power cycling

18. Why are firmware and BIOS updates important?


Automation

19. What is Infrastructure as Code?

Explain:

  • Repeatability
  • Version control
  • Automation
  • Consistency

20. Have you used Ansible? Describe a playbook you’ve written.

Even a small one.


Advanced (10)

These assess whether you can operate independently.


Linux

21. A Linux server randomly freezes every few days. How would you investigate?

Discuss:

  • Logs
  • Hardware
  • Memory
  • Disk
  • Kernel panic
  • Drivers
  • Monitoring
  • SMART
  • Crash dumps

22. A process is consuming memory continuously. How would you determine whether it’s a memory leak?


23. Explain Linux namespaces and cgroups.

Useful for containers.


Performance

24. How would you identify whether poor application performance is caused by:

  • CPU
  • RAM
  • Storage
  • Network

They want structured diagnosis.


25. A build farm becomes much slower after adding new servers. How would you investigate?

Excellent systems thinking question.


Networking

26. Explain the complete journey of a packet across different VLANs.

Include:

  • ARP
  • Gateway
  • Routing
  • MAC tables
  • Switches

27. A server can ping another host but cannot access a web service. What might be wrong?

Potential causes:

  • Firewall
  • Ports
  • Reverse proxy
  • TLS
  • Application
  • SELinux

Infrastructure

28. Describe how you would provision 100 Linux servers from scratch.

Should include:

  • PXE
  • Imaging
  • Kickstart
  • Cloud-init
  • Ansible
  • Puppet
  • Monitoring
  • Documentation

Python

29. Write a Python script that:

  • reads server names
  • pings each one
  • writes the results to a CSV

They may ask you to write or explain code on a whiteboard.


Scenario

30. It’s 10:00am.

Three engineers report:

  • one server won’t boot
  • another has lost network connectivity
  • a Kubernetes cluster is unhealthy
  • your ticket queue has 25 open incidents

How do you prioritise your work?

This is really testing:

  • communication
  • incident management
  • triage
  • escalation
  • customer support

Questions I’d expect to be the highest value

If I had to bet on what Graphcore is most likely to ask, these would be near the top of the list:

  1. Walk me through your Linux troubleshooting methodology.
  2. A server is slow. What do you check first?
  3. Explain VLANs and subnetting.
  4. Describe a difficult Linux problem you’ve solved.
  5. How do you troubleshoot an SSH failure?
  6. Tell us about your experience with server hardware.
  7. Explain Ansible and how you’ve used it.
  8. How do you diagnose CPU, RAM, storage, or network bottlenecks?
  9. What monitoring tools have you used and what metrics do you watch?
  10. How do you balance multiple support requests while keeping users informed?

These questions align closely with the role’s emphasis on Linux administration, hardware labs, networking, automation, troubleshooting, and customer support, and preparing strong, structured answers to them would put you in a good position for the interview.

Answers

Give me strong answers along with keywords for these 30 questions

For this role, I’d answer using a consistent structure that interviewers appreciate:

Understand the problem → Gather evidence → Form hypotheses → Test systematically → Resolve → Verify → Document → Prevent recurrence

That demonstrates methodical troubleshooting, which Graphcore explicitly lists as an essential skill.


1. What happens during the Linux boot process?

Strong answer

“When a Linux machine powers on, the BIOS or UEFI performs POST to initialise hardware. It then looks for a boot device and loads the bootloader, usually GRUB. GRUB loads the Linux kernel and the initramfs into memory. The kernel detects hardware, mounts the initial root filesystem, and starts PID 1, which on modern systems is systemd. Systemd then starts services according to dependencies until the machine reaches its target state, such as multi-user or graphical mode.”

Keywords

  • BIOS
  • UEFI
  • POST
  • GRUB
  • Kernel
  • initramfs
  • systemd
  • PID 1
  • Targets

2. A Linux service won’t start.

Strong answer

“I would first check systemctl status to understand the failure. Then I’d examine logs using journalctl. I’d verify the service configuration, permissions, dependencies, available ports, disk space, and SELinux or AppArmor if applicable. Once I’ve identified the root cause, I’d correct it, restart the service, confirm functionality, and document the resolution.”

Keywords

  • systemctl
  • journalctl
  • Logs
  • Dependencies
  • Configuration
  • Permissions
  • Root cause
  • Verification

3. Difference between a process and a service

Strong answer

“A process is simply a running program with its own PID. A service is a long-running background process managed by systemd, which provides automatic startup, restart policies, logging integration, and dependency management.”

Keywords

  • PID
  • Daemon
  • systemd
  • Background
  • Restart policy

4. SSH won’t connect.

Strong answer

“I start by confirming basic network connectivity with ping or traceroute. I verify DNS resolution, check the SSH daemon is running, ensure port 22 is listening using ss or netstat, review firewall rules, confirm authentication settings, inspect permissions on ~/.ssh, and finally review /var/log/auth.log or the journal for authentication failures.”

Keywords

  • SSH
  • Firewall
  • DNS
  • Port 22
  • sshd
  • Authentication
  • Authorized keys
  • Logs

5. DHCP vs DNS

Strong answer

“DHCP dynamically assigns IP configuration such as IP address, gateway and DNS servers. DNS translates human-readable names into IP addresses so systems can locate services.”

Keywords

  • IP assignment
  • Hostnames
  • Name resolution
  • Gateway

6. Server is slow

Strong answer

“I determine whether the bottleneck is CPU, memory, storage or networking. I’d use top or htop for CPU, free and vmstat for memory, iostat and iotop for storage, and sar or iftop for networking. I’d compare current utilisation with historical monitoring data before identifying the root cause.”

Keywords

  • Load average
  • CPU
  • RAM
  • I/O wait
  • Bottleneck
  • Monitoring
  • Baseline

7. Filesystem full

Strong answer

“I’d use df to identify which filesystem is full, then du to locate large directories. I’d check log files, temporary files, deleted-but-open files with lsof, inode usage, archive unnecessary data, and confirm enough free space exists afterwards.”

Keywords

  • df
  • du
  • lsof
  • Inodes
  • Cleanup

8. Explain permissions

Strong answer

“Linux permissions are based on owner, group and others, with read, write and execute bits. Ownership is controlled using chown and permissions with chmod. ACLs provide finer-grained access control where traditional permissions aren’t sufficient.”

Keywords

  • chmod
  • chown
  • ACL
  • Owner
  • Group

9. High CPU usage

Strong answer

“I’d identify the process using top or ps, determine whether it’s expected behaviour, investigate whether it’s CPU-bound or waiting on I/O, check logs, and correlate findings with recent changes before deciding whether optimisation, scaling or restarting is appropriate.”

Keywords

  • top
  • ps
  • Load
  • Profiling
  • Optimisation

10. What is systemd?

Strong answer

“Systemd is Linux’s init system responsible for booting the operating system, managing services, handling dependencies, logging through journald and controlling system targets.”

Keywords

  • Init
  • Services
  • Targets
  • Journald

11. Servers can’t communicate

Strong answer

“My troubleshooting follows the OSI model. First I verify physical connectivity, then IP addressing, routing tables, VLAN membership, DNS resolution, firewall rules and finally application-layer services.”

Keywords

  • OSI
  • Routing
  • Firewall
  • VLAN
  • DNS

12. Explain VLANs

Strong answer

“VLANs logically separate networks on the same physical switch. They improve security, reduce broadcast traffic and simplify network management.”

Keywords

  • Layer 2
  • Broadcast domain
  • Segmentation
  • Security

13. Explain subnetting

Strong answer

“Subnetting divides networks into smaller segments, improving routing efficiency and reducing broadcast traffic. I understand CIDR notation and can calculate usable host ranges.”

Keywords

  • CIDR
  • Mask
  • Broadcast
  • Gateway

14. TCP vs UDP

Strong answer

“TCP is reliable, connection-oriented and guarantees ordered delivery. UDP is connectionless, faster and used where low latency matters more than guaranteed delivery.”

Keywords

  • Reliable
  • Connection-oriented
  • Datagram
  • Low latency

15. Browser request

Strong answer

Discuss:

DNS

ARP

TCP handshake

TLS

HTTP request

Response

Rendering


16. Server won’t power on

Strong answer

“I’d verify power sources, PSU LEDs, PDU status, cabling, BMC access, POST messages, memory seating and hardware faults before replacing components.”

Keywords

  • POST
  • PSU
  • BMC
  • PDU

17. BMC

Strong answer

“A Baseboard Management Controller provides out-of-band management allowing remote power control, console access and hardware monitoring even when the operating system is unavailable.”

Keywords

  • IPMI
  • iLO
  • iDRAC
  • Remote console

18. Firmware updates

Strong answer

“They improve security, fix hardware bugs, improve compatibility and reliability. Updates should be tested, documented and scheduled to minimise downtime.”

Keywords

  • Compatibility
  • Security
  • Maintenance window

19. Infrastructure as Code

Strong answer

“Infrastructure as Code automates server configuration through version-controlled definitions, providing consistency, repeatability and easier disaster recovery.”

Keywords

  • Automation
  • Version control
  • Idempotent
  • Repeatable

20. Ansible

Strong answer

“I’ve used Ansible to automate package installation, configure services, deploy configuration files and enforce consistent server configurations across multiple hosts.”

Keywords

  • Playbook
  • Inventory
  • YAML
  • Modules
  • SSH

21. Server freezes

Strong answer

“I’d review logs, kernel messages, hardware monitoring, SMART disk status, memory tests, kernel panic reports, recent changes and monitoring history to isolate whether the issue is hardware or software.”

Keywords

  • dmesg
  • SMART
  • memtest
  • Kernel panic

22. Memory leak

Strong answer

“I’d monitor memory growth over time, compare RSS and VSZ values, analyse application metrics, inspect heap usage where possible, and determine whether restarting temporarily resolves the issue while investigating the underlying cause.”

Keywords

  • RSS
  • VSZ
  • Heap
  • Leak

23. Namespaces and cgroups

Strong answer

“Namespaces isolate resources such as processes, networking and filesystems, while cgroups control resource allocation such as CPU and memory. Together they underpin Linux containers.”

Keywords

  • Isolation
  • Resource limits
  • Containers

24. Performance bottlenecks

Strong answer

“I isolate each resource individually. CPU with top and mpstat, memory with vmstat and free, storage using iostat, network using sar and iftop. I correlate metrics rather than assuming the first symptom is the cause.”

Keywords

  • Correlation
  • Metrics
  • Bottleneck

25. Build farm slows after expansion

Strong answer

“I’d compare before-and-after performance, investigate network changes, storage contention, scheduling algorithms, configuration drift, DNS, load balancing and monitoring data before forming conclusions.”

Keywords

  • Baseline
  • Regression
  • Configuration drift

26. Packet across VLANs

Strong answer

“A host first resolves the gateway MAC using ARP. The packet reaches the default gateway, which routes between VLANs, rewrites the Layer 2 headers and forwards it to the destination VLAN.”

Keywords

  • ARP
  • Routing
  • Gateway
  • MAC

27. Ping works but website doesn’t

Strong answer

“This indicates basic connectivity exists. I’d investigate firewall rules, web server status, reverse proxy configuration, TLS certificates, DNS resolution, SELinux, and application logs.”

Keywords

  • nginx
  • HAProxy
  • TLS
  • HTTP
  • Port 80
  • Port 443

28. Provision 100 servers

Strong answer

“I’d use PXE boot with Kickstart or cloud-init, automate configuration with Ansible, integrate monitoring and logging, validate builds through testing, and document the deployment process.”

Keywords

  • PXE
  • Kickstart
  • Cloud-init
  • Ansible
  • CI/CD

29. Python automation

Strong answer

“I’d write modular Python code using subprocess or libraries like paramiko or requests, implement exception handling, log results, and export data in CSV or JSON format.”

Keywords

  • requests
  • subprocess
  • CSV
  • JSON
  • Exception handling

30. Prioritisation scenario

Strong answer

“I’d assess business impact and urgency first. A server that won’t boot or a Kubernetes outage affecting multiple engineers would typically take precedence over lower-impact incidents. I’d acknowledge all tickets promptly, communicate expected timelines, escalate where necessary, document progress, and keep stakeholders updated throughout. Once critical services are restored, I’d return to the remaining incidents in priority order and identify any preventive actions.”

Keywords

  • Impact
  • Urgency
  • Triage
  • Communication
  • Escalation
  • Stakeholder management
  • Incident management
  • Documentation

Interview tip

Across all of these answers, emphasize not just what you would do, but why. Interviewers at Graphcore are likely to value a structured approach to diagnosis over memorizing commands. A good pattern to follow is:

  1. Clarify the symptoms.
  2. Gather evidence before making changes.
  3. Form and test hypotheses methodically.
  4. Resolve the issue with minimal disruption.
  5. Verify the fix.
  6. Document the solution and consider how to prevent similar issues.

This approach aligns closely with the role’s focus on Linux administration, hardware support, customer service, and methodical problem-solving.