kymr / daily-study

2 stars 0 forks source link

Tech Interview Tip #44

Closed kymr closed 5 years ago

kymr commented 5 years ago
public class TechInterviewTip {
    // 승지니어 : https://www.youtube.com/watch?v=-kKQZlAJo0Y

    // 1. Refine requirement
    public List<String> fineNamesFromMovieScript(String movieScript) {
        // abstract
        // Does input only contains alphabetic characters?
        // ignore cases?
        // Should I consider same name be represented in various forms? (Michael == Mike)
        // Can I think that the number of characters is limited? (Complexity)

        return null;
    }

    // 2. The utility method could be assumed.
    public List<String> permutateString(String input) {
        // e.g : input ab
        // result : [ab, Ab, aB, AB]
        // Character.toLowerCase(char c)
        // Character.toUpperCase(char c)
        // I can solve this with backtracking.
        // I know that language support case conversion of character.
        // But I don't exactly remember how to use that method.
        // Can I assume that?

        return null;
    }

    // 3. Be proactive to communicate, and request hint if you needed
    public void veryDifficultQuestion() {
        // Even if the problem is difficult, you have to think about how to solve it, and communicate with it
        // Communicate with interviewers about the logical process from the start.
        // If you don't totally know how to solve it, request hints politely.
        // Request another problems if you don't know.
    }

    // 4. If the problem is too complicated, then approach from a small part
    // If there are 3~4 parts to solve, then solve it one by one.
    public class SudokuSolver {
        public SudokuSolver(char[][] board) {

        }

        public char[][] solveSudoku() {
            return null;
        }

        // I am going to create validation method for sudoku, then solve it with backtracking
        // I am going to implement validation method first.
        public boolean isValidSudoku(char[][] board) {
            return true;
        }
    }

    // 5. Be confident and patient.
    // Tech-interview 1 session : 50 m ~ 1 H
    // Time flies somehow
    // Try to show you something even if you can't solve it
    // Ask questions appropriate ,or try to solve a small part.
}