Skip to content

Commit

Permalink
Improve readme
Browse files Browse the repository at this point in the history
  • Loading branch information
rusinikita committed Oct 9, 2023
1 parent 895c85f commit b83c795
Show file tree
Hide file tree
Showing 6 changed files with 73 additions and 15 deletions.
80 changes: 67 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,88 @@
Golang interview questions and quiz terminal app.
Golang interview questions, learning materials and beautiful quiz terminal app.

Why:
- Interview simulation
- Fun
* [Why](#why)
* [Features](#features)
* [Real interview challenges](#8-real-interview-challenges)
* [Complex questions](#complex-questions)
* [Learning hints](#learning-hints)
* [Other](#and-other)
* [Contribution](#support-a-project-community)
* [Installation](#installation-and-usage)
* [Thanks](#thanks)

## Why

I am a mentor. I looked for a way to automate basic help, so I decided to create a single app with interview questions and learning instructions.

Use it to:
- Prepare to GoLang tech interview section
- Study concurrency
- Examine and teach other developers
- Have fun

It will help to improve results if you don't have enough experience in concurrency and interviews.

It complements well with:
- ChatGPT/WizzardLM prompts [for CV editing to XYZ format](https://github.com/f/awesome-chatgpt-prompts#act-as-a-recruiter), [position brainstorming](https://github.com/f/awesome-chatgpt-prompts#act-as-a-talent-coach),
and [interviewer simulation](https://github.com/f/awesome-chatgpt-prompts#act-as-position-interviewer)
- [Interview warmup AI](https://grow.google/certificates/interview-warmup/)

## Features

### 8 real interview challenges

Tutorial and 8 reworked challenges from my experience as an interviewer and candidate.

![](images/list.png)

### Complex questions

It isn't about "program output". Many answers are bounded to code lines.

![](images/play.png)

Features:
- No code highlight (yes, it's a feature)
- Guess program output
- Find problems in code and choose solutions
- Copy and fix code
- Find problems in code
- Offer a fix

### Learning hints

Fix knowledge gaps fast. Jump to question topic in [Tour of Go](https://go.dev/tour), [gobyexample.com](https://gobyexample.com/) and ["Learn go with tests"](https://quii.gitbook.io/learn-go-with-tests/).

![](images/learn.png)

### And other

- Challenge code already in you clipboard. You don't have to manually select and copy text.
- Adaptive UI. Interface changes with terminal window size.

## Support a project community

[![asciicast](https://asciinema.org/a/605076.svg)](https://asciinema.org/a/605076)
Any contribution is welcome in issues:
- Provide feedback. Report something you don't like in the issues.
- Share a real interview question.
- Share an idea for a new challenge or challenge update.
- Discuss an issue.
- Offer a contribution, and I will guide you through the PR creation process.

## Installation and usage

Copy and paste into terminal. You should have Go installed.
You should have Go installed

### Install or update
### 1. Install or update

```
go install github.com/rusinikita/trainer@v0.4.1
go install github.com/rusinikita/trainer@v0.5.0
```

### Run
### 2. Run

```
trainer
```

### Tutorial
### 3. Tutorial

Please, select tutorial as first challenge

Expand Down
6 changes: 5 additions & 1 deletion challenge/files/01_structs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ func main() {
fmt.Println(employee.AccessLevel)
}
"""
learning_advise = "Read and play with structure, method, pointer and pointer receiver concepts."
learning_advise = """
Go functions gets a copy of argument values. We use pointers to avoid value copying. But pointer is value too.
Play with pointers. Read about value receiver vs pointer receiver.
"""

[[learning_links]]
title = "Tour of Go"
Expand Down
2 changes: 1 addition & 1 deletion docs/ADR3.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Allow questions with custom code: what if make(chan int)/remove/move
1. [ ] Return button
2. [ ] Unknown input layout feedback
3. [x] Code copy additional message
4. [ ] Add contribution readme
4. [x] Add contribution readme
5. [x] Add challenge learning instructions component

Problem: wrong list render on learning info open and close
Expand Down
Binary file added images/learn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/play.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b83c795

Please sign in to comment.