def get_dot_product(first_vector, second_vector):
    """ (dict, dict) -> dict 

    The function takes two dictionaries representing vectors as input.
    It returns the dot product between the two vectors.

    >>> v1 = {'a' : 3, 'b': 2}
    >>> v2 = {'a': 2, 'c': 1, 'b': 2}
    >>> get_dot_product(v1, v2)
    10
    
    >>> v3 = {'a' : 5, 'b': 3, 'c' : 3}
    >>> v4 = {'d': 1}
    >>> get_dot_product(v3, v4)
    0
    
    >>> v5 = {}
    >>> v6 = {}
    >>> get_dot_product(v5, v6)
    0
    
    >>> v7 = {'a' : 2, 'b' : -2, 'c' : -4}
    >>> v8 = {'a' : 1, 'b' : 3, 'c' : 2}
    >>> get_dot_product(v7, v8)
    -12
    """
    # initialize dot product variable
    dot_product = 0
    
    # compute product for values whose key is in both vectors 
    for key in first_vector:
        if key in second_vector:
            # add product to the sum
            product = first_vector[key] * second_vector[key]
            dot_product += product
            
    # return sum of products (dot product)
    return dot_product