📅  最后修改于: 2023-12-03 14:44:08.894000             🧑  作者: Mango
MAQ 软件是一家专注于大数据处理和人工智能领域的公司,招聘的人才涵盖数据工程师、算法工程师、前端开发工程师等多个职位。在校内举办的面试中,以笔试和面试的形式进行筛选。
笔试的内容主要有两部分,第一部分是选择题和判断题,测试应聘者的基础知识水平;第二部分是编程题,测试应聘者的编程能力。编程题难度中等,主要考察应聘者算法设计和实现能力。
笔试时间为2小时,需要应聘者自备笔记本电脑进行编程题。
以下为笔试题目的代码片段示例:
# 题目:给定一个字符串 s,找到 s 中最长的回文子串。可以假设 s 的最大长度为 1000。
class Solution:
def longestPalindrome(self, s: str) -> str:
n = len(s)
dp = [[False] * n for _ in range(n)]
ans = ""
# 枚举子串长度 l+1
for l in range(n):
# 枚举子串起始位置 i,这样可以通过 j=i+l 得到子串的结束位置
for i in range(n):
j = i + l
if j >= n:
break
if l == 0:
dp[i][j] = True
elif l == 1:
dp[i][j] = (s[i] == s[j])
else:
dp[i][j] = (dp[i+1][j-1] and s[i] == s[j])
if dp[i][j] and l + 1 > len(ans):
ans = s[i:j+1]
return ans
面试时间大约为1小时,包括技术面试和HR面试。技术面试主要考察应聘者的专业技能,如数据结构、算法、数据库等;HR面试主要考察应聘者的综合素质和个人特点,如沟通能力、职业规划等。
在技术面试中,面试官会询问应聘者在学校或实习中的项目经历和工作经历,并会问一些相关的问题。如果应聘者表现出色,有机会获得offer。
以下是面试中可能会遇到的代码片段示例:
# 题目:写一个函数,通过遍历输入的文件夹及其子文件夹,返回其中包含关键字的文件列表
import os
def search_files(path, keyword):
files = []
for root, dirs, filenames in os.walk(path):
for filename in filenames:
if keyword in filename:
files.append(os.path.join(root, filename))
return files
MAQ 软件的面试体验相对来说比较正规和严谨,需要应聘者具备扎实的基础知识和编程能力。希望本文能够对准备参加MAQ校内面试的程序员们有所帮助。