vault backup: 2024-10-04 13:09:45
This commit is contained in:
37
Work/Jose De Jesus interview.md
Normal file
37
Work/Jose De Jesus interview.md
Normal file
@@ -0,0 +1,37 @@
|
||||
Positives:
|
||||
- [ ] Speaks excellent English
|
||||
- [ ] Obviously very familiar with Visual Studio, used short cuts like autocompleting property definitions
|
||||
- [ ] Seems very calm and worked immediately, very straightforwardly
|
||||
- [ ] Created well-defined methods on `Board` to facilitate various functions like "reveal box" and "flag box"
|
||||
- [ ] Able to talk through his work well, explaining as he went along
|
||||
- [ ] Used a nested loop and `Math.Max` and `Math.Min` to reveal box around the revealed box
|
||||
- [ ] A user-facing thoughtful thing: he cleared the console at the top of each input loop
|
||||
- [ ] Used `StringBuilder` to render the board output, but decided against it later
|
||||
- [ ] Used string interpolation (newish C# capability) to render mine box content
|
||||
- [ ] Excellent output message to user to give clear instructions on commands to input
|
||||
- [ ] Showed familiarity with debugging
|
||||
- [ ] Abstracted the PrintGrid functionality to a method to be able to call it multiple times
|
||||
- [ ] Considered the user not knowing the array was 0-based
|
||||
|
||||
Concerns:
|
||||
- [ ] Didn't appear to come super prepared with the solution in mind
|
||||
- [ ] I'm not 100% certain he read the specification in detail, but relied on his memory of how minesweeper worked
|
||||
- [ ] Very minor: used different terms for the same thing `bombFound` but `MineBox`
|
||||
|
||||
Other comments:
|
||||
- [ ] Created class for `MineBox` and `Board`
|
||||
- [ ] Used multi-dimensional array of `MineBox`es in `Board`
|
||||
- [ ] Used `Random` to set mines randomly around the board
|
||||
- [ ] Used a while loop in Program until `bool gameEnded` was reached
|
||||
- [ ] Used `Convert.ToInt32` instead of `int.Parse` to get coordinates from console input line
|
||||
- [ ] Ran into issues looping and redisplaying the board
|
||||
|
||||
Questions to ask:
|
||||
- [ ] What could you do to take your game logic and render it any way you wanted to (console, HTML, graphical...)
|
||||
Could do a virtual method on `Board` to allow clients to override it to render the board
|
||||
- [ ] Why did you choose to have Program.cs "own" the rendering of the board instead of Board?
|
||||
- [ ] Could you have Board "own" the rendering without it knowing exactly what it's renderings (strings, icons, HTML elements, etc)?
|
||||
- [ ] Explain your choice to use `Convert.Int32`?
|
||||
- [ ] You loop over the entire board or parts of the board (nested loops) a couple of times. How could you abstract that logic while still using it for different purposes?
|
||||
Would have to iterate the board each time. When I explained
|
||||
- [ ] Could you abstract the Game logic to untie it from the rendering and board?
|
||||
Reference in New Issue
Block a user