目录
正在加载目录...

Akuna Capital OA 面经|75 分钟两道题,一道普通 coding 一道 AI coding

Akuna Capital OA 最近陆续在发,这场是 75 分钟两道题。做完之前刷过不少 Akuna Capital OA 的面经,发现他家题池不大、复现率挺高,这次两道也基本是常见题型——第一题是普通 Python OOP,七八分钟一次过;第二题是 AI coding 风格的 React 题,反复调试花了将近 25 分钟才 AC。把两道题的题面和思路完整写下来,给后面排队收 Akuna Capital OA 邀请的同学参考。

Akuna Capital OA 面经|75 分钟两道题,一道普通 coding 一道 AI coding

第一题:Communications Handler(Python OOP)

题意

实现一个通信处理器类,管理两个用户之间的通信。整条通信线路同一时间只能有两个用户在使用,其他人必须等当前通话结束才能接入。

需要实现两个类:

CommsHandler(继承自 CommsHandlerABC)有三个方法:

connect(user1, user2):建立连接。如果 user1 和 user2 是同一个人,抛出异常”(user1.name) cannot connect with (user2.name)”;如果通信线路已在使用中,抛出”Connection in use. Please try later”;如果线路空闲,存储连接并返回”Connection established between (user1.name) and (user2.name)”。

hangup(user1, user2):断开连接。同一人挂断抛异常”(user1.name) cannot hangup with (user2.name)”;如果两人正在通话则断开返回”(user1.name) and (user2.name) are disconnected”;如果两人没在通话抛出”(user1.name) and (user2.name) not found in the communication channel”。

clear_all():无条件清空当前连接,无返回值。

CommunicationException(继承自 Exception):自定义异常类,构造函数接受错误信息,抛出时使用。

Caller 类已经实现好了,直接用。

Akuna Capital OA 面经|75 分钟两道题,一道普通 coding 一道 AI coding

思路

核心就是维护一个 active_connections 变量存当前连接的两个用户。这个变量名很重要——帖子里提到 main 里面写的就是这个名字,一开始没按这个命名会报错,这是这题最容易踩的坑。

逻辑上按题面的条件分支判断就行:connect 时先判断是不是同一人、再判断线路是否占用、最后建立连接;hangup 时先判断同一人、再判断是否在通话中;clear_all 就直接把 active_connections 置空。各种异常情况按题面的精确错误信息抛出,不能有偏差。

第二题:Password Strength Checker(React AI Coding)

题意

这道是 Akuna 的 AI coding 题,给你一个完整的 React 项目(文件树里有 App.tsx、PasswordChecker.tsx、PasswordStrength.tsx 等),要求实现密码强度检测功能——根据密码满足的五个条件数量,实时显示对应的强度文本和背景颜色。

测试用例包括:初始状态应为空、checker 初始值应为 Weak、输入框正常工作、显示当前密码强度、Clear Password 按钮功能正常、整体功能正确。

Akuna Capital OA 面经|75 分钟两道题,一道普通 coding 一道 AI coding

思路

两个组件各司其职:

PasswordChecker.tsx 负责维护输入内容——管理 input 的 state,处理输入变化和清空事件,把当前 password 传给 PasswordStrength 组件。

PasswordStrength.tsx 负责显示强度——接收 password prop,统计满足的条件数量,映射到对应的文本(Weak/Fair/Strong 等)和背景颜色,渲染出来。

五个条件通常是长度、大写字母、小写字母、数字、特殊字符这类标准密码规则,满足几条对应几星强度。这种题不需要自己设计逻辑,按测试用例的预期行为反推实现就行。

这题比第一题花时间,主要是 AI coding 环境需要反复调试,跑 test 看哪个 case 没过再针对性修改,不像普通题一次性写完就交。

特别提醒

第一题的 active_connections 命名别自己发明,看 boilerplate 代码怎么写的就怎么用,否则 main 函数对不上会直接报错。

第二题重点看测试用例名称,测试名就是需求——”should be empty initially”、”should have value of Weak”这些直接告诉你初始状态该是什么,比读题面有效率得多。

写在最后

这次 Akuna OA 整体还算顺利,第一题 OOP 逻辑清晰,第二题 React 项目主要靠读代码和测试用例驱动开发。

准备过程中,我发现单纯自己摸索效率不高。后来通过朋友推荐接触到 interviewshow,他们专注北美技术岗位的面试辅助,团队成员均来自硅谷一线大厂,积累了大量真实面试案例和最新题型分析。他们提供 OA 辅助、VO 指导和全流程一对一支持,能根据你的背景和弱点制定专属方案,帮助你更精准地击中招聘方的考察点。祝大家早日通过 OA,拿到好 Offer!

END