Pre-Mock Preparation & instructions

  1. You must be in the same zoom room as your peer.
  2. How to score the candidate (interviewee):
    1. For the non-technical conversation you’ll have the questions and guidelines on what should the candidate more or less talk about (it’s an open question so you expect from the candidate to be professional, focus on the question and not another unrelated topic).
    2. For the technical conversation part you’ll have for each question its correct answer and the candidate will either give the whole correct answer to get the whole point otherwise you give them 0.
    3. for the other exercises, the interviewee must have a working program with the correct output / answer to get the whole score on the task, otherwise 0.
  3. VERY IMPORTANT :
    1. Before starting the Mock Interview
      1. You as the interviewer must be logged in to use the google form to score the candidate.
      2. The candidate must give you their information that you’ll need to fill the google form such as :
        1. Intranet ID number
        2. Campus
        3. Name

Part 1: Non Technical Conversation (5 minutes)

  1. How do you handle workplace stress?
    1. Does the candidate express their stress to their team members ?
    2. Do they take small pauses to ease the situation ?
    3. Does the candidate explain if they try to decrease the stress level or find a suitable solution for themselves or all the team ?
    4. Do they meditate, do some stretching exercises, write down their mind on a journal ??
    5. The candidate must mention how they handle stress and how the steps they take help them.
  2. What are your long-term career goals ? Explain how do you think you’ll achieve your goals.
    1. Becoming a full-stack engineer, frontend, backend, blockchain, game developer…
    2. A startup founder
    3. An investor
    4. A team lead or an engineering manager
    5. A freelancer….
    6. They must explain (not into much details) how do they think they’ll get to their goal(s).
  3. Tell me about a group project that you’ve worked on lately and what did you learn from it (technical and soft skills).
    1. They can mention one of the C projects that they’ve worked on, printf, simple shell, binary trees or any other personal project, etc.. the question is open so they just need to remain professional and focus on the topic of the question and not talk about something else.

Part 2: Technical Conversation (15 minutes)

  1. What are the 3 different methods to go to the HOME directory in Linux, using the cd command ?
    1. answers:
      1. cd
      2. cd ~
      3. cd $HOME
  2. What is a built-in in Linux ?
    1. answer: A built-in is a command that is part of the shell itself and doesn't require an external program to be executed. (for more info)
  3. Give me at least two use cases of recursion (examples of when we can use recursion) ?
    1. answers:
      1. Tree Traversal.
      2. Factorial calculation.
      3. Binary Search.
      4. Quick sort.
      5. Merge sort.
      6. Fibonacci…..
  4. Is the size of a double pointer the same as the size of a single pointer ?
    1. answer: Yes.
  5. To increment or decrement a variable's value in Python3, we can use the ++ and -- respectively (true or false) ?
    1. answer:
      1. False
      2. We use += or -=
  6. What is the difference between using get() and directly accessing a key in a dictionary ?
    1. Answer:
      1. When you access a dictionary key directly (example: my_dict['key']), it raises a KeyError, if the key doesn’t exist in the dictionary.
      2. The get() method allows you to access a key without raising an error if the key is missing. Instead, it returns None or a specified default value.
  7. Can you describe the purpose of the try-except block in Python ?
    1. Answer:
      1. The try-except block in Python is used for handling exceptions (errors) gracefully, allowing the program to continue running even if an error occurs.
      2. The code inside the try block is executed normally, but if an exception occurs during execution, the code inside the except block is triggered.
      3. The purpose:
        1. It is used to handle anticipated or unanticipated exceptions (such as dividing by zero, file not found, index out of range etc…).
        2. And it prevents the program from terminating unexpectedly due to errors, allowing alternative actions or user-friendly error messages.
  8. What is raise in python and what is it used for ?
    1. Answer:
      1. The raise keyword is used to explicitly throw an exception in Python.
      2. It is typically used when you want to signal that an error has occurred during execution.
  9. In Python, is a set mutable or immutable?
    1. Answer:
      1. Sets are mutable, allowing you to add or remove elements.