Hiring Process Interviews

Hiring Process Interviews

First Round

  • Hiring Process
  • IT team structure

Second Round

  • IT team structure
  • Job description
    • Have to talk to management?
    • Have to gather requirements?
    • Code only?
    • Nature of the system?
    • Web
    • Large System
    • Distributed
    • Code what?
    • Infrastrucure?
    • System Architect?

Design Patterns

Creational Patterns

Builder

class Pizza:
  def init(self):
  def str(self):

class PizzaBuilder
  def init(self):
  def set_size(self, size):
  def add_cheese(self):
  def add_pepperoni(self):
  def add_bacon(self):
  def build(self):
  
pizza = builder.set_size("Large").add_cheese().add_pepperoni().build()

Factory

class DataProcessor
  def process(self)

class DatabaseExtractor(DataProcessor)
  def process(self):
  
class APIExtractor(DataProcessor)
  def process(self)
  
class FileExtractor(DataProcessor)
  def process(self)
  
class DataProcessorFactory:
  def create_data_processor(source)

Structural Patterns

Adapter

class MediaPlayer:
  def play(self, audio_type, filename):

class MediaAdapter(MediaPlayer):
  def init(self, audio_type):
  def play(self, audio_type, filename):

class AudioPlayer:
  def play(self, audio_type, filename):

FlyWeight

Car Objeto Carro + Objeto Dono

class Car:
  def display_details(self, owner):

class CarFlyweight:
  def init(self, shared_state):
  def display_details(self, owner, extra_object):

class CarFactory:
  def init(self):
  def get_flyweight(self, shared_state):

** Client code **

if name == "main":
  car_factory = CarFactory()
  shared_car = Car("Toyota", "Camry", "Blue")
  flyweight2 = car_factory.get_flyweight(shared_car)
  extra_object1 = "Object A"
  flyweight1.display_details(owner1, extra_object1)

Behavioral Patterns

Command

class Command(ABC):
  def execute(self):

class Light:
  def turn_on(self):
  def turn_off(self):

class TurnOnCommand(Command):
  def init(self, light):
  def execute(self):

class TurnOffCommand(Command):
  def init(self, light):
  def execute(self):

class RemoteControl:
  def init(self):
  def set_command(self, command):
  def press_button(self):

Decorator

def log_decorator(func):

def wrapper(*args, **kwargs):

class Calculator:
def add(self, a, b):
def subtract(self, a, b):

Popular posts from this blog

Atom - Jupyter / Hydrogen

Design Patterns

Robson Koji Moriya disambiguation name