← Todas las charlas Charla

DevExpert. Mock Interview

Two interviewers, same level and up.

Recruiter Screening

  • Share more about the company.

  • Share more about the position.

  • Hear more from the candidate interest.

  • Take the value they can bring to the company.

  • Share salary banding and candidate salary expectations (avoid).

Signals to look for

  • Interest in the position.

  • Years of experience.

  • Kind of experience of the candidate. (Projects, companies…)

  • High level technical skills.

Coding

Hackerrank, LeetCode, CodeSignal, eSkill.

Algo Monster. Book cracking the code.

Values and Behaviours

  • Collaboration.

  • Values, Behaviours, Culture Add.

    • Handle disagreements and different opinions.

Signals to look for

Explain to me the biggest challenge you have had in the past six months.

  • Drive Impact.

    • How you measure it?
  • Communication.

    • Explain to me the biggest challenge you have had in the past six months.
  • Collaboration.

    • Priorizitation.

    • Examples of close collaboration with ICs, Product, Design, and Customer support.

  • Empower Customers.

    • What it brings to the users?
  • Mentorship / mentee-sip.

    • Tell me how they has act and impacted as a mentor.
  • Diversity.

    • Initiatives or open source?

Why you want to work on this company?

What do you expect from the next role?

Tell me when you had a conflict with a colleague.

What was the most difficult bug you have found in the past 6 months?

What’s the most constructive feedback you have received?

How do you deal with failed deadline?

Coding Maintainability

Explain what we expect. 1/4 adding the feature. 3/4 refactoring the code.

  • Technical Complexity

  • Ability to write clean code

  • Ease of adding functionalities without generating bugs

  • Programming principles and best practices

  • P2. Plan before code.

  • P2. PLan testing.

  • P2. Bonus point. Do tests.

Expense Report

(https://pl.kotl.in/y46JjCNRm)

Your company has developed an expense management system. The system can be used to generate reports related to expenses incurred by employees. There are some requirements that have not yet been met and the product owner has prioritized the following one:

As a user, I want the ability to select “lunch” as an “expense type” with a limit of 2000$ so that this expense will appear on my report.

  • Expense Report Code

    
    import java.io.*;
    import java.util.*;
    
    enum class ExpenseType(val value: Int) {
        BREAKFAST(1),
        DINNER(2),
        CAR_RENTAL(3)
    }
    
    fun printReport(expenses: List<Expense>) {
        var total = 0
        var mealExpenses = 0
    
        println("Expenses ${Calendar.getInstance().time}\n")
    
        for (expense in expenses) {
            if (expense.type == ExpenseType.DINNER || expense.type == ExpenseType.BREAKFAST) {
                mealExpenses += expense.amount
            }
    
            val expenseName = when (expense.type) {
                ExpenseType.DINNER -> "Dinner"
                ExpenseType.BREAKFAST -> "Breakfast"
                ExpenseType.CAR_RENTAL -> "Car Rental"
            }
    
            val mealOverExpensesMarker = if ((expense.type == ExpenseType.DINNER && expense.amount > 5000) || (expense.type == ExpenseType.BREAKFAST && expense.amount > 1000)) "X" else " "
    
            println("$expenseName\t${expense.amount}\t$mealOverExpensesMarker")
            total += expense.amount
        }
    
        println("Meal expenses: $mealExpenses")
        println("Total expenses: $total")
    }
    
    data class Expense(val type: ExpenseType, val amount: Int)
    
    fun main() {
        printReport(
            listOf(
                Expense(ExpenseType.BREAKFAST, 1200),
                Expense(ExpenseType.DINNER, 6300),
                Expense(ExpenseType.CAR_RENTAL, 10000)
            )
        )
    }

System Design

The objective of system design interviews is to evaluate a candidate’s skill at designing real-world software systems involving multiple components. We want to understand the candidate’s knowledge on the big picture, given a fairly ambiguous design problem, how do they gather missing requirements, propose solutions and ask questions to get more clarity, so they reach a good solution. We also want to evaluate analytical Thinking: Understanding the problem, Planning the solution, Implementation, Reviewing the solution (testing), Evaluating to make strategic decisions and tradeoffs.

  • System Design

  • Ambiguity

  • Continuously Learn

  • Knowledge/Judgment

  • Cultivate Authenticity (Collaboration)

https://www.figma.com/board/OP4PFH8uUMttY4TKIERNQB/Mock-Interview.-System-Design?node-id=0-1&t=r0uDE60tOoBXwFVM-1

Password: Antonio