diff --git a/Work/Edgar Munoz interview.md b/Work/Edgar Munoz interview.md index affcdbc..7e37f72 100644 --- a/Work/Edgar Munoz interview.md +++ b/Work/Edgar Munoz interview.md @@ -21,6 +21,7 @@ Questions: 5. You iterate through all cells in the board multiple times. Can you extract that logic to reuse wherever needed instead of copying it? 6. Can he explain why using GridSize at the property initialization level doesn't work? He couldn't explain it--he needed a const or static integer for `GridSize` instead of a readonly class field. Opted to initialize the property at the top of the constructor. 7. Can he simplify the user input questions (like don't show option for placing a flag if no squares are revealed yet--ie, impossible to know where mine is yet), or does he want to allow a user to place flags without knowing +8. How can you communicate to the user better about what's going on (found mine or tried to place flag on revealed square, for example)? Nits: 1. Property, field and variable naming not consistent @@ -38,5 +39,5 @@ Notes: 4. Found a bug he wrote in column and row check before executing program by thinking about it logically and visualizing the board. 5. Has a bug using `.Length` of a multi-dimensional array! Will be x * y and not x as he's hoping. He figured it out without any prompting from me and used `GridSize` in the check instead. 6. He had thoughts about the `Board.BoardGame` field--renmaing it. This is a good sign to me, thinking about clearing naming something that's redundant (against the class name). -7. How can you communicate to the user better about what's going on (found mine or tried to place flag on revealed square, for example)? +7. Used a `Queue` to do a breadth-first search of neighboring cells.