📌  相关文章
📜  实习生+全职员工的Accolite数字面试体验| 2021 年校内(1)

📅  最后修改于: 2023-12-03 15:39:08.059000             🧑  作者: Mango

实习生+全职员工的Accolite数字面试体验| 2021 年校内

介绍

Accolite是一家专注于技术咨询、咨询和外包的全球性技术公司,提供完整的软件开发生命周期解决方案。面对全球化的竞争,许多公司需要提高其IT能力,这就是Accolite为客户解决问题的地方。

今年,Accolite举办了实习生与全职员工的数字面试,为即将毕业的学生提供了一个了解公司工作环境,接触真实问题的机会。本文旨在分享我的面试体验和面试内容。

面试流程

面试共分为两轮。第一轮为技术面试,第二轮为官方面试。

技术面试

技术面试使用视频会议进行,我们需要解决两个实际问题。第一个问题是百度搜索的相关性分数,第二个问题是在sorted matrix中查找元素。

首先,我在第一个问题中遇到了一些困难,但是我一步一步地解释了自己的思路,并最终解决了问题。第二个问题比较容易,我很快就解决了它。

这些问题都是面试官在工作中遇到的真实问题,通过解决这些问题,我加深了我对算法和数据结构的理解,并且了解了公司的工作环境。

官方面试

第二轮面试是官方面试,需要答辩和问答环节。首先,我就我的经历和期望回答了几个个人问题。然后,我被要求解释一下我的技术面试答案并分享我的思路和代码。

总体而言,我对自己在面试中的表现感到满意。我想再次强调,这些问题都是非常实际的问题,并且可以帮助我们更好地了解公司的工作环境。

面试内容
百度搜索的相关性分数

这个问题用两个string表示一个查询和一个网页内容。查询中包含多个单词,我们需要在网页内容中查找这些单词并计算相关性分数。相关分数的计算方式是根据单词在查询中出现的次数、出现单词的位置等计算的。

这个问题本身比较复杂,但如果你熟悉字符串操作和哈希表,你应该能够快速解决。

以下是Python代码:

def create_index(t: str) -> dict:
    words = t.split()
    index = {}
    for i, word in enumerate(words):
        if word in index:
            index[word].append(i)
        else:
            index[word] = [i]
    return index

def get_score(q: str, d: str) -> int:
    score = 0
    index = create_index(d)
    for i, word in enumerate(q.split()):
        if word in index:
            for pos in index[word]:
                score += 1 / (pos + 1)
    return score
在排序矩阵中查找元素

这个问题是在一个已排序的矩阵中查找特定的元素。矩阵是按行和列排序的,它的性质是比该元素小的元素在其左,比它大的元素在其右。

以下是Python代码:

def search_matrix(matrix, target):
    n = len(matrix)
    if not n:
        return False
    m = len(matrix[0])
    if not m:
        return False

    i, j = n - 1, 0
    while i >= 0 and j < m:
        if matrix[i][j] == target:
            return True
        elif matrix[i][j] < target:
            j += 1
        else:
            i -= 1

    return False
结论

Accolite的数字面试提供了一个很好的机会,让我能够了解公司的工作环境和实际问题,并在这个过程中提高我的算法和数据结构能力。我希望我的经验可以对即将参加Accolite数字面试的人有所帮助。