ashithwilson / machine-test-interview-infra

Spin up a server for conducting machine test for interviews. Candidates may SSH to the server while interviewer is able to see their live screen.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Machine Test Infrastructure Setup

This project spins up a docker Ubuntu container in your machine to conduct interviews/machine tests for candidates.

The candidates can login to the server using the SSH credentials while you will be able to see their live screen in your terminal.

Prerequisites

Project uses docker to run a container for machine tests and ngrok to create a public domain name to access it.

Start a test

Follow the below commands.

# Clone the repo
git clone git@github.com:ashithwilson/machine-test-infra.git
cd machine-test-infra

# Make sure that you have a working docker daemon
# Build the docker image for running tests
make build

# Make sure you have set up ngrok terminal -> https://ngrok.com/
# below command runs a docker container and sets up port forwarding using ngrok
make run

Now, you will have a port mapping in your terminal. Provide the ngrok domain name as SSH host and TCP port as SSH Port. For example consider the below portmapping.

Forwarding            tcp://0.tcp.in.ngrok.io:18744 -> localhost:2222

The SSH details are as follows.

Host: 0.tcp.in.ngrok.io
Port: 18744

To obtain SSH username and password, issue below command.

make generate-ssh-creds

Ask the interviewee to login with these SSH details.

View live session

Once the interviewee logs in using SSH, you can see live screen of interviewee using below command.

make view-session

About

Spin up a server for conducting machine test for interviews. Candidates may SSH to the server while interviewer is able to see their live screen.

License:MIT License


Languages

Language:Shell 68.7%Language:Makefile 22.0%Language:Dockerfile 9.2%