前端开发
共 6 条笔记
2025-07-16 09:05
您的浏览器不支持 audio 元素。 📑 智能总结 音频信息 时长 :约23分钟 参与人数 :约2人 场景类型 :求职面试 内容总结 求职意向与技术能力
求职偏好 :应聘者倾向于前端工程师岗位,若能结合原生移动开发更佳,因其具备超十年原生移动开发经验,主要涉及安卓系统,服务过数百万用户。
前端技术栈 :熟练使用React、JavaScript、TypeScript,常用工具包括VS Code、GitHub Copilot,熟悉React 18和Next.js,属于前端JavaScript技术栈,了解UI组件开发。
后端技术栈 :使用Node.js、Nest.js、GraphQL,熟悉AWS基础设施、CICD管道,掌握Docker和Terraform。 对公司及岗位的认知
对公司的了解 :应聘者知晓公司是投资平台科技公司,为用户提供金融服务。面试官介绍公司致力于打造便捷直观的投资应用,工程师专注于前端用户体验,如快速加载页面、微交互和动画等,使命是帮助用户在日常工作之外积累财富。
岗位吸引点 :岗位描述中与同事分享成果、推动项目前进、提出技术解决方案等内容吸引应聘者,且公司对新技术的开放态度,让其有机会学习GoLang等新技术,这对开发者至关重要。 工作经历与离职原因
工作经历 :应聘者曾负责电动汽车实时车队管理平台,前端使用React 18和Next.js 14的App Router构建响应式仪表板,实现统一地图和列表查看,共享Web与React Native组件以提高交付速度;后端使用Nest.js和Apollo Federation构建GraphQL网关,聚合AWS IoT Core和MQTT的实时遥测数据。此外,还参与项目管理,如任务拆分、优先级调整、文档撰写与分享等。
离职原因 :所在澳大利亚公司在全球电动汽车充电领域知名,客户包括特斯拉,但目前公司利润下滑,促使应聘者寻找新机会。 其他事宜
工作地点与方式 :应聘者现居澳大利亚新南威尔士州,因家人在中国,有时需跨国旅行,倾向远程工作,公司提供完全远程工作选项。
入职时间与薪资期望 :应聘者可立即入职,期望年薪在140K澳元左右,面试官表示公司薪资范围在120K - 140K澳元,平均约130K澳元。面试结束后,面试官将把笔记和简历转交给招聘经理,24 - 48小时内告知应聘者面试流程。 📅 章节概要 00:00:08 开场寒暄与岗位方向询问 面试开场,说话人0与说话人1相互问候。说话人1表明因Airpods问题状态不佳,随后询问说话人0对前端或后端岗位的倾向,称公司前后端岗位均有。 00:01:42 技术能力阐述 说话人0表示倾向前端,介绍自己在前端方面使用React、JavaScript、TypeScript等技术,借助VS Code、GitHub Copilot辅助开发,熟悉React 18和Next.js,有超十年原生移动开发经验,主要开发安卓应用。后端则使用Node.js、Nest.js等技术,熟悉AWS基础设施及相关工具。 00:04:12 岗位偏好与框架了解 说话人1询问说话人0在现有岗位中对前端或后端工程师的偏好,说话人0明确表示更倾向前端工程师,且若能结合原生移动开发更好。接着,说话人1提及公司使用的Angular 18及Ionic框架,询问说话人0是否熟悉,说话人0表示熟悉JavaScript栈,对Ionic框架不熟悉,但愿意学习新技术。 00:06:40 对公司的了解及应聘原因 说话人1询问说话人0对公司的了解及应聘该岗位的原因。说话人0称知道公司是投资平台科技公司,为用户提供服务。说话人1进一步介绍公司作为投资平台,打造了便捷的投资应用,工程师专注于前端用户体验,使命是帮助用户积累财富。说话人0表示岗位描述中分享成果、推动项目及学习新技术等内容吸引自己。 00:09:40 工作经历详述 说话人0讲述自己曾在澳大利亚一家全球知名的电动汽车充电领域公司,负责实时车队管理平台,前端用React 18和Next.js 14构建响应式仪表板,共享组件提高交付速度;后端用Nest.js和Apollo Federation构建GraphQL网关聚合数据。此外,还参与项目管理相关工作。 00:13:00 离职原因说明 说话人1确认说话人0曾工作的公司,说话人0解释因公司利润下滑,所以寻找新的工作机会,同时表示喜欢前端工作。 00:14:27 岗位吸引因素重申 说话人1询问说话人0该岗位吸引他的地方,说话人0再次强调岗位描述中分享成果、推动项目及学习新技术等内容对自己的吸引力,认为公司对新技术的开放态度有利于自身发展。 00:17:32 工作地点、入职时间与薪资讨论 说话人1询问说话人0的所在地,说话人0表示在澳大利亚新南威尔士州,因家人在中国,倾向远程工作,公司提供此选项。接着,说话人1询问入职时间和薪资期望,说话人0表示可立即入职,期望年薪140K澳元左右,说话人1告知公司薪资范围及后续流程。 00:23:23 面试结束 说话人1告知说话人0面试流程,会将笔记和简历转交给招聘经理,24 - 48小时内告知面试流程,双方结束对话。 📋 待办事项 说话人1将笔记和说话人0的简历转交给招聘经理。 招聘经理在接下来几天评估说话人0的申请,并在24 - 48小时内告知说话人0面试流程。
2026-02-16 13:41
您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 1 小时 27 分钟 参与人数 :约 4 人 内容类型 :招聘面试 录音总结 本次UME公司对候选人Jack的技术面试,围绕候选人背景、笔试项目、工作习惯、求职匹配度展开讨论,确认双方诉求,后续将由面试团队内部商议后给出结果。 候选人基本背景 * 个人身份与工作经验 :Jack是全栈开发工程师,现居澳大利亚悉尼,为澳大利亚永久居民,拥有超过10年专业开发经验,2019年从中国大陆移居悉尼。2019-2020年有1年gap用于移居和适应新生活,目前已经适应悉尼生活,家人也在此定居。 * 过往工作经历 :移居后Jack先加入TreatyM企业领导力管理平台,在此期间完成从前端到React+NodeJS开发的转型,实现了带PostgreSQL数据库的React组件,落地RBAC权限系统,搭建了团队CI/CD流水线。之后Jack在Dealer Studio工作3年,Dealer Studio是面向汽车经销商的电商平台,Jack前期负责前端,搭建了多租户系统、复杂表单生成器,接入Stripe支付和信贷查找功能,后期拓展到全栈和基础设施,从零搭建了React Native移动应用。 * 求职动机 :Jack被UME吸引的内核原因是UME使用的Next.js、React、NodeJS、PostgreSQL技术栈正好匹配他的过往经验,同时UME帮助用户获得融资的使命也符合他的职业期待。 笔试题项目沟通 * 开发流程与工具选择 :Jack分享了自己的开发流程,他主要使用VS Code作为开发工具,项目从一开始就采用测试驱动开发(TDD),同步编写规范文档,搭建了包含单元测试、端到端测试的CI/CD流水线,配置了lint和代码检查钩子保证代码质量。技术栈选用了Next.js、NestJS、TypeScript、Tailwind CSS、shadcn/ui,除满足题目要求外,额外增加了国际化支持,避免硬编码文本,符合最佳实践。 * 全客户端组件的选型理由 :面试方提问为什么选择做全客户端的单页应用,Jack解释该项目是私有仪表盘应用,不需要SEO优化,因此不需要服务端渲染;同时仪表盘需要处理大量用户交互,使用客户端组件更适合发挥浏览器的交互能力,符合业务场景需求。 * 自定义Hook状态管理的设计思路 :Jack设计了 useLoanApplications 自定义Hook做状态管理,内核考虑一是扩展性,虽然题目要求使用mock数据,但封装Hook后未来对接真实后端API只需要替换mock部分即可;二是借助TypeScript严格模式和状态机保证数据一致性和完整性,未来修改代码时编译器会提前报错,提升代码可维护性。如果对接后端API,Jack会把API调用逻辑抽成独立文件,Hook只调用封装好的公开API,fetch请求本身仍会在Hook内发起。 * 语言切换对状态的影响解答 :Jack解释国际化通过Next.js App Router实现,切换语言会触发路由跳转重定向,整个应用重新渲染,翻译内容会自动读取当前语言的对应配置,翻译逻辑和应用状态是解耦的,状态不需要额外修改,整个渲染流程由React框架本身管理。针对父组件重渲染对嵌套Hook状态的影响,Jack提到因为当前项目规模较小,引入Redux这类重型状态管理库属于过度设计,因此选用React原生Props和useCallback即可满足需求,不需要额外的重型库。面试方指出当前方案会在语言切换时重复发起API请求,属于可以优化的点,Jack认可该反馈。 * 页面刷新状态丢失的解决方案 :Jack提到可以用useCallback、useMemo保留函数和变量引用,也可以用localStorage持久化数据,如果需要更复杂的状态管理,再考虑引入Redux、Zustand这类状态库,根据场景选择合适的方案即可,不需要强行引入重型依赖。 * 大列表性能优化思路 :Jack提到针对十万级别的大申请列表,可以通过内存缓存、本地缓存、脱机库减少重复API请求,降低服务端压力,这些技术都可以直接应用到当前Hook方案中。 * 项目迭代说明 :Jack提到如果重写项目,他已经额外做了优化:除了满足题目要求的mock版本外,他另外搭建了独立后端项目并上传到GitHub,前端也新建分支对接了后端API,已经完成了完整可扩展的端到端方案。 工作方法与偏好沟通 * 新需求处理流程 :Jack拿到新需求第一步是先充分理解需求,拆解成多个小任务,梳理潜在风险和遗漏点,他习惯把内容整理成文档,绘制流程图、架构图梳理逻辑,之后和相关同事多轮沟通确认需求澄清疑问,沟通不需要都开长会,文本、短会都可以;如果需求比较大,会借助AI工具生成原型,部署可体验的demo方便沟通,方案确认后再开始编码,更新文档、写测试、提PR过代码评审,之后依次部署到 staging 环境和生产环境发布。 * 偏好的团队协作模式 :Jack最喜欢从零搭建全新项目,他认为工作不只是写代码,还包含文档、测试、CI/CD等内容,从零开始可以把所有最佳实践落地,能带来很强的成就感;同时他也喜欢深入解决复杂疑难bug,解决问题的过程能帮他快速成长,不过AI输出需要自己做判断,避免被误导。Jack最不适应的是开大量无效会议,只讨论不落地,他更倾向先写出原型demo再沟通,不喜欢不停空谈没有实质产出。 UME团队与业务规划说明 * 当前团队规模与发展方向 :UME当前分为Salesforce平台和自研UME平台,Salesforce有2名开发,自研UME平台现有2名工程师,本次招聘是添加第三个坑位,团队坚持小而精的路线,招能力强的人而非扩张团队规模,本次招聘的角色前期偏前端,未来会发展成全栈,工程师需要对大段平台功能全权负责,不会出现大公司那种只负责单个小模块(比如导航栏)的情况,团队未来会逐步扩张,目标是搭好稳固的技术底座,用小团队快速开发多个产品。 * AI应用规划 :UME的AI布局分为两个方向,一是贷款决策,通过AI更快更准地评估贷款人风险,给用户快速反馈,提升竞争力;二是客户服务自动化,用AI处理简单咨询和常规服务,释放团队人力处理更需要人文关怀的复杂工作,相关规划会在今年下半年到明年逐步落地。Jack认可该方向,提到AI即时响应用户能提升用户满意度,也能提升开发效率、优化方案质量、辅助输出文档和图表,小团队借助AI可以做到比大团队更快的产出。 * 岗位成功标准 :入职3-6个月的成功标准是能够快速上手,几周内就可以开始产出价值,首先要能本地搭建项目理解代码结构,快速开始贡献,团队也会通过清晰的文档、良好的 onboard 流程和AI工具帮助新人快速融入。 📅 章节概要 00:00:02 候选人开场打招呼 候选人Jack开场打招呼,做初步自我介绍,说明自己是全栈开发工程师,现居莫斯科(口误),实际居悉尼。 00:09:22 面试方主持人打招呼确认身份 面试方主持人Hello Jack,确认面试开始,Jack表示很开心参加本次面试。 00:09:34 面试方主持人开场说明面试目的 主持人说明已经看过Jack的申请材料,质量很好,本次面试目的是进一步了解Jack、申请材料的细节、Jack未来规划,也给Jack留出提问时间,让Jack了解团队。 00:10:05 面试方做参会人员介绍 主持人介绍参会人员:运营经理Mason、高端软件工程师Jared,Mason做自我介绍,说明自己是UME的运营经理,有运营变革和领导力背景,现在负责配合推进UME全新技术栈落地。 00:10:49 Jared做自我介绍 Jared做自我介绍,说明自己是UME的高端软件工程师,加入公司已经5个月,一直在搭建项目初始架构,工作体验很好。 00:11:06 主持人请Jack做自我介绍 主持人请Jack用5分钟左右介绍自己的背景和经历。 00:11:15 Jack介绍个人基本信息 Jack做自我介绍,说明全名Jackson,是全栈开发,现居悉尼Mascot,澳大利亚永久居民,拥有超过10年专业开发经验。 00:11:36 Jack介绍TreatyM工作经历 Jack说明2019年移居澳大利亚,之后加入TreatyM,这是一家企业领导力管理平台,他在这里转型做React+NodeJS开发,开发了带PostgreSQL数据库支撑的React前端组件,落地了带上下文感知的RBAC权限系统,还为团队搭建了CI/CD流水线。 00:12:16 Jack介绍Dealer Studio工作经历 Jack说明最近三年在Dealer Studio工作,Dealer Studio是面向汽车经销商的电商平台;他入职先做前端,搭建了多租户系统和复杂表单生成器,接入了Stripe支付和信贷查找功能;工作后半段拓展到全栈和基础设施,从零开始搭建了React Native移动应用。 00:13:28 Jack说明求职UME的原因 Jack说明被UME吸引,一是UME招聘信息里的技术栈Next.js、React、NodeJS、PostgreSQL正好和自己一直使用的技术匹配,二是UME帮助用户获得融资的使命也符合他的期待。 00:14:14 主持人回应自我介绍,引导进入笔试题讨论 主持人感谢Jack的介绍,肯定Jack的匹配点,接下来引导讨论Jack之前完成的笔试带回家项目,请Jack分享屏幕,讲解自己的开发工作流。 00:14:57 主持人说明讨论开发工作流的目的 主持人说明开发工作流非常个人化,不同开发者习惯不同,比如Jared用Vim,主持人自己用Cursor,都用AI辅助开发,本次就是想了解Jack的开发方式和做项目的思路。 00:15:17 Jack开始分享屏幕,介绍使用的开发工具 Jack分享屏幕,展示项目,说明主要开发工具是VS Code,也会用到Xcode和Android Studio,内核开发工作都在VS Code完成,项目托管在GitHub。 00:16:00 Jack介绍项目开发流程规范 Jack说明除了原代码本身,他从项目一开始就采用测试驱动开发(TDD),同步编写规范文档,提前设计深入思考,保证项目质量。 00:16:51 Jack介绍项目质量保障措施 Jack说明项目搭建了CI/CD流水线,会运行单元测试和端到端测试,同时配置了lint和代码检查钩子,保障代码可维护性和正确性。 00:17:31 Jack介绍项目技术栈和额外优化 Jack说明项目技术栈是Next.js、NestJS、TypeScript、Tailwind CSS、shadcn/ui,除满足笔试要求外,他额外增加了国际化支持,因为硬编码文本不是最佳实践,同时引入了测试框架落实TDD最佳实践,介绍完后请面试方提问。 00:18:54 主持人提问第一个技术问题 主持人提问,为什么选择在Next.js中做完全客户端的单页应用,所有组件都是客户端组件,这个选择的理由是什么。 00:19:32 Jack回答全客户端选型的理由 Jack说明Next.js有SSR等多种方案,但SSR主要用于SEO优化,本次做的是私有仪表盘应用,不需要SEO,因此不需要SSR;同时仪表盘需要处理大量用户交互,用客户端组件更适合发挥浏览器的交互能力,因此做了这个选择。 00:21:42 主持人请Jared继续提问 主持人表示理解,请Jared提问状态管理相关的问题。 00:22:23 Jared提问自定义Hook状态管理的设计理由 Jared提问,Jack选择用自定义Hook做状态管理,在README里提到其他方案都属于过度设计,请说明设计理由,以及考虑过哪些替代方案。 00:23:00 Jack说明自定义Hook设计的两个内核考虑 Jack说明内核Hook是 useLoanApplications ,第一个考虑是扩展性:题目要求用mock数据不需要对接真实后端,但他设计时就考虑了未来对接真实API的扩展,把逻辑封装在Hook层,方便后续替换对接。第二个考虑是借助TypeScript严格模式和状态机保证数据一致性和完整性,Application数据是带类型的记录,未来修改代码如果遗漏修改,TypeScript编译器会直接报错,提升项目可维护性。 00:25:30 Jared追问后续对接后端的方案细节 Jared追问,如果后续对接真实后端API,会怎么扩展这个Hook。 00:25:49 Jack回答对接后端的方案 Jack表示只需要替换Hook里的mock数据部分,对接后端API即可。 00:26:07 Jared进一步追问细节:API请求是否会放在Hook里 Jared追问,是否会把API调用放在Hook里面,请给出更具体的说明。 00:26:26 Jack说明具体架构 Jack说明,成熟项目会把后端连接逻辑抽成独立文件,Hook只调用抽好的公开API,不需要把所有API调用逻辑都放在Hook文件内部。 00:27:16 Jared确认:fetch请求仍然是从Hook发起对吗 Jared确认,即使抽离API逻辑,fetch请求还是会在Hook里发起,对吗。 00:27:26 Jack确认该推断 Jack表示是的。 00:27:28 Jared提问语言切换对应用状态的影响 Jared提问,切换语言时,根节点的国际化Provider会更新上下文,这个变化会对Jack的自定义Hook应用状态产生什么影响。 00:27:52 Jack确认问题指向国际化 Jack确认问题问的是国际化切换对状态的影响。 00:27:54 Jared确认问题范围 Jared确认,就是问国际化切换对应用状态的影响。 00:27:54 Jack说明国际化实现方案 Jack说明,国际化是基于Next.js App Router实现的,用户切换语言后,路由会读取语言参数,跳转到对应语言的路径,参数会传递给所有子组件,完成切换。 00:28:41 Jared进一步追问对应用状态的影响 Jared追问,切换语言的变化,具体怎么影响Jack自定义Hook管理的应用状态。 00:28:51 Jack解答影响问题 Jack回答,切换语言后只会变化翻译文本,翻译文本是从独立的翻译表读取,不是硬编码,翻译逻辑和应用状态是解耦的,所以对Hook状态没有特殊影响。 00:30:09 Jared进一步明确问题背景 Jared说明,项目里国际化Provider放在根节点,整个应用都被Provider包裹,切换语言时Provider会更新上下文,想知道这个过程对应用状态的影响。 00:31:04 Jack进一步解答 Jack说明,切换语言会触发整个应用重新加载和重新渲染,渲染时会自动读取当前语言的配置,整个渲染流程由React框架本身管理,开发者只需要提前解耦翻译逻辑和业务状态就可以,不需要额外处理,遵循React的规则就没问题。 00:32:08 Jared提问最后一个问题:父重渲染对子Hook状态的影响 Jared提问,父组件(比如根节点的国际化Provider)重渲染整棵组件树,叶子节点的自定义Hook状态会受到什么影响,如果Hook里还会发起fetch请求,会有什么问题。 00:33:20 Jack解答该问题 Jack说明,缺省情况下React会自动把Props传递给嵌套子组件,如果子组件用到了Hook,渲染变化会由React框架本身通知,不需要开发者额外处理;针对这种场景,可以选择Redux、React Query这类中心化状态管理框架,也可以用React原生的Props传递,取决于项目场景;当前是小项目,引入Redux这类重型库属于过度设计,用原生Props配合useCallback就足够满足状态管理需求了。 00:37:01 主持人 clarify 问题内核并给出优化建议 主持人说明,问题的内核是:每次切换语言都会触发重新渲染,Hook会重新发起一次后端请求,重复获取全量数据,这个问题是可以优化的,属于Jack当前方案可以改进的点,主持人个人也会更倾向用服务端渲染解决这个问题,本次就是沟通不同思路。 00:38:00 Jack认可该反馈 Jack表示理解,认可该反馈。 00:38:04 主持人询问Jared是否还有其他问题 主持人问Jared还有没有其他问题。 00:38:09 Jared提问刷新页面状态丢失的解决方法 Jared提问,当前是SPA,如果刷新页面,状态就会丢失,Jack认为可以怎么解决这个问题。 00:38:25 Jack回答状态持久化方案 Jack说明,有多种技术可以解决,可以用useCallback保留函数引用、用useMemo保留变量值,针对计算密集型函数尤其有效;也可以用Redux、Zustand这类状态管理库保留状态,不过这些库更重型,轻量场景下用原生Hook加localStorage持久化数据就足够了;另外要注意useMemo的依赖数组,只有依赖变化才会重新计算,要保证依赖数组符合预期,避免不必要的重新计算。 00:41:57 Jared表示问题问完,请主持人继续 Jared表示自己的问题问完了。 00:42:01 主持人转向非技术问题,请Jack谈项目重写的修改点 主持人感谢Jack和Jared,接下来转非技术问题,基于刚才对项目的讨论和反馈,如果重新做这个项目,Jack会修改哪些地方。 00:42:34 Jack说明已经完成的修改 Jack说明,一开始他严格按照笔试要求做了带mock数据的版本,之后他额外做了扩展:自己搭建了独立的后端项目,上传到GitHub,前端也新建了分支对接后端API,已经完成了完整可扩展的端到端方案,保证方案完整、设计充分。 00:44:36 Jared提问大列表性能问题 Jared看了后端集成后提问,如果申请列表增长到十万条,Jack的Hook方案会怎么处理性能问题,有什么影响和优化思路。 00:45:11 Jared明确问题范围 Jared明确问题是从前端视角出发,因为Hook里会拉取全量列表,想知道怎么处理大列表。 00:45:32 Jack解答大列表优化思路 Jack展示分支里对接后端API的代码,说明优化可以从缓存入手,做内存缓存和本地缓存,减少重复API调用,降低服务端压力,也可以用支持脱机模式的库自动做缓存,这些方案都可以用到当前Hook方案里。 00:47:39 Jared感谢Jack的解答 Jared表示感谢,理解Jack的思路。 00:47:44 主持人转背景问题,询问简历空档原因 主持人接下来聊简历背景,指出Jack在上一份工作Areader结束于2019年2月,下一份工作TreatyM开始于2020年2月,中间有1年空档,大学毕业到第一份工作还有4年空档,请Jack解释空档原因。 00:48:52 Jack解释1年空档原因 Jack说明,2019年到2020年的空档是因为他从中国大陆移居澳大利亚,拿到永久居民后搬家到悉尼,需要处理大量安家适应的事情,对自己和家人都是很大的调整,因此花了一些时间。 00:49:53 主持人表示理解,说明只是了解情况没有评判 主持人表示理解,说明只是想了解情况,没有评判的意思,搬家适应确实需要时间。 00:50:25 主持人询问Jack对悉尼生活的感受 主持人问Jack,现在适应悉尼生活了吗,喜不喜欢在这里生活。 00:50:30 Jack分享悉尼生活感受 Jack表示非常喜欢悉尼的生活,喜欢这里的文化,和之前相比,这里有更多自由可以深入研究自己感兴趣的事情,之前的环境节奏太快,大家更追求速度不追求质量,没有时间打磨产品,在这里有更多空间和自由打磨技术、深入研究自己感兴趣的内容,找到了自己想要的生活方式。 00:52:04 主持人询问Jack的家庭情况 主持人问Jack现在家人都在悉尼吗。 00:52:07 Jack介绍家庭情况 Jack说明,自己有一个7岁的女儿,女儿也喜欢这里的生活,已经在附近交到了朋友。 00:52:53 主持人询问上一份工作Dealer Studio的团队情况 主持人问Jack,Dealer Studio的团队是什么样的。 00:53:06 Jack介绍团队规模 Jack说明,Dealer Studio整个技术团队大概有40名工程师,加上外包和非正式成员一共大约70人。 00:54:00 Jack介绍自己的工作阶段 Jack说明,他在Dealer Studio的工作分为两个阶段,第一阶段做Web前端,第二阶段做React Native移动端,因此有机会和不同角色的同事合作。 00:54:42 Jack分享Dealer Studio的优点 Jack说明,Dealer Studio很好的一点是不管你是什么角色,都允许你访问所有产品线,因此他可以接触前端、后端、移动端,能全面理解业务,知道公司收入来源、业务内核和市场方向,能快速创建对业务的全局认知,写代码的时候也能做出更正确的决策,知道哪些功能影响用户、影响收入,哪些不重要。 00:56:23 Jack举例说明业务理解的作用 Jack举例说明,Dealer Studio的内核业务线索转化链路:从外部服务商获取用户,用户提交表单后生成线索,市场同事跟进联系用户,推动用户预约看车试驾,他理解整个链路后,就能清楚知道技术工作哪里能贡献价值。 00:58:41 主持人肯定Jack的观点 主持人肯定Jack的想法,说明UME也非常看重把技术工作和业务结果挂钩,这一点非常好。 00:58:51 主持人追问团队结构细节 主持人追问,40个工程师应该分成了更小的团队,Jack属于哪个团队,日常和哪些人合作。 00:59:08 Jack说明团队结构 Jack说明,他一开始属于Web前端团队,前端负责人是Johnny,就是Johnny面试的他,现在Johnny已经离开公司了;每周会开3次会,参会的有CEO Jeremy和Mike,还有前端负责人Johnny。 01:00:07 Jack说明移动端合作经历 Jack说明,后来转移动端后,他和Lana、Amish两个同事三个人一起合作开发React Native移动端客户端,也有机会和CEO、高管直接对接,能保证自己的工作方向和公司OKR对齐,感觉收获很大。 01:01:32 主持人提问新需求处理流程 主持人请Jack举例子说明,接到新的产品需求和功能开发任务时,第一步会做什么,完整流程是什么样的。 01:02:18 Jack讲解完整需求处理流程 Jack说明,第一步首先要充分理解需求,避免误解,把需求拆解成多个小任务,在拆解过程中梳理潜在风险和遗漏点;他习惯把所有内容写下来,绘制流程图、表格、架构图梳理逻辑,之后多轮和同事沟通澄清需求,沟通不一定需要开一小时的长会,文本、短会等高效方式都可以;如果需求比较大比较重要,会借助AI生成原型,部署可体验的demo方便沟通,就像他这次笔试项目做的一样,他提供了文档、部署了可体验版本,沟通非常方便;方案大家都确认后,才开始编码,之后更新文档、写测试、提PR过代码评审,依次部署到staging环境和生产环境发布。 01:06:30 主持人感谢Jack的分享,解释自己在记笔记 主持人感谢Jack,说明自己在记笔记,所以没一直看镜头,请Jack谅解。 01:06:48 主持人提问团队偏好 主持人问Jack,加入新团队后,你最喜欢什么样的团队氛围,什么样的团队氛围会让你很难发挥价值。 01:07:16 Jack说明自己偏好的工作内容 Jack说明,他最喜欢从零搭建全新项目,因为他喜欢写文档、写测试、搭建CI/CD,从零开始可以把所有最佳实践都落地,能影响团队按照行业最佳实践前进,能带来很强的成就感;其次他喜欢深入解决疑难bug,解决疑难bug的过程需要收集日志、分析线索、判断方向,还要对AI输出做判断避免被误导,这个过程非常有挑战性,能帮助自己快速成长。 01:10:25 Jack说明自己不适应的工作模式 Jack说明,他最不适应的就是开大量无效会议,不停空谈没有实质产出,他更倾向先写出原型demo再沟通,讨厌光讨论不做决策,作为开发者,更应该落地写文档、做具体事情,太多无意义的讨论会让他疲惫。 01:12:12 主持人表示理解,留出时间给Jack提问 主持人表示理解,接下来留出时间给Jack向面试团队提问。 01:12:34 Jack提问第一个问题 :当前工程团队规模和未来增长规划 Jack说明自己最关心的问题是,UME当前工程团队是什么样的,未来打算怎么增长。 01:13:11 主持人回答团队规模问题 主持人说明,UME当前有两个主要平台:Salesforce和自研UME平台,Salesforce有2名开发,自研UME平台现有2名工程师,本次招聘就是招第三个工程师,团队坚持小而精的路线,宁愿要小团队的能力强的人,也不扩张做大团队;本次招聘的角色前期做前端,未来会发展成全栈,工程师需要对平台的大块功能全权负责,不会像大公司那样只负责单个小模块(比如导航栏);未来会逐步扩张团队,开发更多产品,内核思路是先搭好稳固的技术底座,用小团队快速交付产品。 01:14:14 Jack回应主持人的分享 Jack表示认同,说明自己就喜欢写代码,从0到1搭建完整项目,写代码就像读长篇小说,享受开头从零搭建、中间打磨功能、最后产品成熟的完整过程,愿意陪着业务成长,把项目从0做成熟,希望业务能长期发展越来越好。 01:18:09 Jack提问第二个问题 :AI相关的规划 Jack说明,注意到UME公司2009年成立,运营多年,想问UME在AI方面有什么具体的规划,是做客户-facing功能还是内部工具。 01:19:06 主持人回答AI规划问题 主持人说明,AI可以用在很多地方,UME的AI布局分为两个方向:第一个是贷款决策,这是UME业务最内核的部分,需要判断应该把钱借给谁,控制风险,用户也希望快速拿到审批结果,AI可以帮助我们更快更准地做决策,提升竞争力;第二个是客户服务自动化,用AI处理简单的客户咨询和常规服务,释放团队人力处理更需要人文关怀的复杂工作,相关规划会在今年下半年到明年逐步落地。 01:20:50 Jack认同AI规划 Jack认同该方向,说明AI即时响应用户确实能提升用户满意度,进而提升收入,即使后续人工跟进,AI先做即时响应也比让用户等着好,现在AI已经足够成熟,能很好地处理这类问题;同时AI也能提升开发效率,比如代码copilot可以提升代码质量、优化方案,还能帮助写文档、画图表,提升沟通效率,小团队用好AI就能做出比大团队更快的产出。 01:24:19 主持人认同Jack的观点 主持人认同Jack的观点,说明用好AI确实能让小团队做出更多正确的事情。 01:24:42 主持人主动回答Jack提前写出的下一个问题:入职3-6个月的成功标准 主持人说明,看到Jack的问题列表里有一个问题是入职3-6个月成功是什么样的,主动回答这个问题:成功就是几周内就能开始产出价值,首先要能本地跑起来项目、理解代码结构,快速开始贡献,我们看重快速上手的能力,不会让新人花两个月摸索,团队会通过清晰的文档、良好的onboard和AI工具帮助新人快速融入。 01:25:32 Jack认同该标准 Jack认同该成功标准。 01:25:47 Jack表示问题已经全部问完 Jack说明,自己的问题已经都得到回答,没有其他问题了。 01:26:00 主持人询问其他面试官有没有补充 主持人问Mason和Jared有没有其他问题,两人都表示没有了。 01:26:14 主持人结束面试,说明后续流程 主持人感谢Jack抽出时间参加面试,今天提前10分钟结束,Jack可以多休息10分钟;后续流程是面试团内部做评议,今天还有一场面试,明天还有一场,所有面试完成后会做出决定,之后会联系Jack同步下一步。 01:26:44 Jack感谢面试官,结束面试 Jack感谢面试官,互相道别,结束面试。 ✨ 金句精选 “对我来说,写代码就像读长篇小说,我享受开头从零搭建、中间打磨功能、最后看着产品成熟的完整过程。” (思考启发) “作为开发者,我更倾向先写出原型demo再沟通,讨厌光讨论不做决策,太多无意义的空谈会让我疲惫。” (运行策略) “理解完整业务链路,才能知道技术工作哪里能真正贡献价值,写代码时做出更正确的决策。” (战略洞见) “小团队用好AI,就能做出比大团队更快的产出。” (战略洞见) “项目从一开始就落实测试驱动开发和规范文档,提前设计深入思考,比写完代码再补质量保障效果好很多。” (方法技巧) 📋 待办事项 UME面试团队:完成所有面试后内部评议,做出招聘决策,联系Jack同步下一步 Jack:等待UME面试团队的后续通知
2026-03-19 11:10
您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 0小时 8分钟 参与人数 :约 2 人 内容类型 :招聘面试 录音总结 这是Olympic公司招聘人员Lars对求职者Jack进行的OFX岗位电话初筛,确认了Jack的离职状态、求职进度、技术栈、工作权限、薪资预期等信息,告知后续面试流程。 初筛开场对接 * 通话发起背景 :Lars是Olympic负责招聘的人员,本次通话目的是沟通Jack的求职申请,确认Jack的求职现状和需求。 * 公司名称确认 :Lars不确定Jack上一份工作的公司名称,Jack经确认后拼写为T-R-I-U-M,职位在5月已经结束。 上一份用工性质与离职原因确认 * 用工类型确认 :Lars询问Jack上一份在Trium的职位是合同岗还是正式岗,Jack未直接回答该问题,转而表示自己开放接受合同岗机会。 * 离职原因确认 :Lars询问离职是否因为裁员,Jack明确表示不是裁员,是主动寻找新的工作机会。 求职进度与面试意愿确认 * 当前求职进度 :Jack已经完成了多轮面试,已经拿到了部分offer,同时还有后续面试安排待进行。 * 新流程参与意愿 :Lars询问Jack已有offer的情况下是否愿意从头参与本次岗位的面试流程,Jack明确表示愿意参与。 技术栈说明 * 前端技术栈 :Jack熟悉的前端技术包括React、Next JS、Typescript、HTML和CSS。 * 后端技术栈 :Jack熟悉的后端技术包括Node.js、Express和Python。 基础资质与要求确认 * 工作权限确认 :Lars询问Jack在澳大利亚的工作权限,Jack确认自己持有澳大利亚PR。 * 到岗时间确认 :Jack确认自己已经离职,可以立即上岗。 * 薪资预期确认 :Jack提出的预期年薪为15万澳元每年。 本次招聘流程与后续安排 * 招聘岗位信息 :本次OFX开放了多个岗位在招聘,Lars负责所有候选人的电话初筛环节。 * 后续节点安排 :电话初筛会在下周结束前完成,进入短名单的候选人会收到通知,进入下一步和招聘经理的半小时面试。 * 完整面试流程 :通过初筛后的流程依次为:和招聘经理的半小时面试、技术测试、一小时技术面试。 初筛收尾沟通 * 候选人提问环节 :Lars询问Jack是否有关于OFX或该岗位的问题,Jack表示已经在官网阅读了全部详细信息,目前没有问题。 * 初筛结束约定 :Lars告知Jack如果进入短名单会主动联系Jack,随后挂断。 📅 章节概要 00:02:03 招聘电话初筛开场对接 Lars自报是来自Olympic的招聘人员,接通Jack的电话后说明本次通话目的,是针对Jack的求职申请沟通求职状态与需求。Lars首先针对Jack简历上的前公司名称进行确认,由于发音歧义反复核对公司名称。 00:03:21 前公司状态与离职情况确认 Lars确认前公司为Trium,Jack的职位在5月已经结束。Lars依次询问该职位是合同岗还是正式岗,是否为裁员离职,Jack明确不是裁员,是主动寻找新机会,未明确回复前职位的用工性质,同时表示自己开放接受合同岗位。 00:04:34 求职进度与面试意愿确认 Lars询问Jack当前求职进度,Jack表示已经参加了多个面试,拿到了部分offer,还有后续面试待进行。Lars询问Jack已有offer的情况下是否愿意从头参与本次岗位的面试流程,Jack明确表示愿意参与。 00:06:02 技术栈与基础资质确认 Jack介绍了自己熟悉的技术栈,前端包括React、Next JS、Typescript、HTML和CSS,后端包括Node.js、Express和Python。Lars确认Jack在澳大利亚的工作权限,Jack确认持有PR,同时确认已经离职,可以立即到岗。 00:07:07 薪资预期与招聘流程说明 Jack提出本次求职的预期年薪为15万澳元每年。Lars说明本次OFX开放多个岗位招聘,所有候选人的电话初筛会在下周结束前完成,进入短名单的候选人会收到下一步通知。完整面试流程依次为:半小时招聘经理面试、技术测试、一小时技术面试。 00:08:03 初筛收尾挂断 Lars询问Jack是否有关于OFX的问题需要提问。Jack表示已经阅读了官网发布的全部详细信息,当前没有问题。Lars告知Jack如果短名单通过会主动联系,随后双方挂断。 ✨ 金句精选 (无) 📋 待办事项 Lars:若Jack进入短名单,主动联系Jack告知下一步面试安排
2026-03-19 11:10
您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 0小时 14分钟 参与人数 :约 2 人 内容类型 :求职面试 录音总结 本次面试为第一轮筛选通话,候选人介绍了自身技术栈、过往工作经历与项目经验,回答了面试官关于离职原因、项目经历的提问,询问了岗位技术栈,面试官告知后续安排。 候选人基本求职状态介绍 * 当前状态 :目前处于离职状态,10月刚从上个公司离职,可以立即到岗。 * 求职方向 :目标岗位是Web前端开发工程师,内核技术栈为React+TypeScript。 * 全栈技术背景 :掌握Node.js、Python、C#/.NET、Java,还使用Ruby on Rails开发过后端管理看板项目。 * 适配能力 :有移动端适配经验,可以适配手机、平板、桌面多端产品。 过往任职公司信息介绍 * 公司所属行业 :上个任职公司属于新能源汽车行业,业务方向是充电桩管理。 * 公司英文名称 :上个任职公司英文名为T R I T I U M。 * 开发产品内容 :开发了包含网页端和移动端的车队管理平台,用户可安装手机APP,也可通过浏览器在桌面端使用。 离职原因说明 * 离职直接原因 :离职是为了获得更高的薪资,原薪资不符合个人预期。 * 原岗位职级 :在上家公司担任中级开发岗位,薪资处于固定水平无法满足需求。 充电桩管理项目测试改造经历 * 内核工作内容 :负责为整个项目搭建测试体系,选择React Testing Library进行项目测试。 * 内核目标 :提升测试覆盖率,使其达到行业通用的80%的标准。 * 工作要求 :需要选择符合最佳实践的合适测试库,并且充分理解每个需要测试的方法对应的业务逻辑。 餐饮在线点餐项目经历介绍 * 产品覆盖端 :同时开发了网页端点餐网站,以及Android、iOS移动端App。 * 产品内核功能 :支持用户在线点餐、配送,用户可通过手机接收订单通知。 * 产品特色设计 :支持按菜品标签筛选菜品,可根据素食、蛋白质等饮食偏好分类排序,满足不同用户的健康饮食需求。 目标岗位技术栈询问 * 提问内容 :候选人主动询问目标岗位使用的技术栈。 * 面试官回复 :岗位后端使用Java开发,基于Java Serverless Lambda部署,前端使用React+NextJS,样式框架采用emotion。 面试流程说明 * 本次面试性质 :本次面试为第一轮筛选通话。 * 后续安排 :面试官正在批量转录所有候选人的面试通话,完成后会给候选人反馈结果与下一步安排。 📅 章节概要 00:00:00 面试开场与候选人自我介绍 开场问候后,面试官请候选人介绍当前职位与工作内容。候选人说明自己当前处于离职状态,可以立即到岗,目标岗位为Web前端开发,内核技术栈为React与TypeScript。候选人介绍自己在上家公司参与开发了包含网页端和移动端的车队管理平台,同时具备全栈开发能力,掌握Node.js、Python、Java等多种后端技术,还开发过基于Ruby on Rails的后端看板,并且拥有多端适配经验,本次面试也准备了项目演示。 00:06:59 面试官询问离职相关信息 面试官确认候选人当前处于职业中断状态,核对了候选人简历中的车队管理项目任职信息,询问了任职公司的名称与离职时间、离职原因。候选人说明公司属于新能源汽车充电桩管理行业,英文名为T R I T I U M,自己在10月也就是上个月刚离职,离职原因是想要获得更高薪资,原公司中级岗位的固定薪资不符合个人预期。 00:09:33 候选人介绍过往挑战性项目 面试官请候选人分享过往工作中有趣或有挑战的项目。候选人首先分享了项目测试改造项目,提到自己选择React Testing Library完成全项目测试,目标是把测试覆盖率提升到行业标准的80%,需要选择符合最佳实践的测试库,还要理解所有待测试方法对应的业务逻辑。 00:11:11 候选人分享餐饮点餐项目经历 候选人分享了另一个在线餐饮点餐项目,该项目同时覆盖网页端和Android、iOS移动端,支持用户在线点餐、配送到家,手机接收订单通知。项目支持按菜品标签筛选排序,用户可根据素食、蛋白质等不同饮食偏好选择菜品,满足健康点餐需求,整个项目开发过程非常有趣。 00:13:15 候选人提问与面试收尾 面试官询问候选人是否有问题想问,候选人询问岗位技术栈,面试官回复:后端使用Java Serverless Lambda,前端使用React+NextJS,样式框架为emotion。面试官说明本次是第一轮筛选面试,正在批量转录所有面试通话,完成后会反馈结果与下一步安排,随后结束面试。 ✨ 金句精选 无 📋 待办事项 说话人1:完成所有候选人面试通话的转录,给候选人反馈面试结果与下一步安排 无
2026-03-19 11:12
您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 0 小时 56 分钟 参与人数 :约 4 人 内容类型 :技术面试 录音总结 本次是Dealer Studio面向候选人Jackson的React Native开发岗位技术面试,面试官团队由前端负责人Johnny、移动端团队成员Lana、移动端高端开发Hamish组成,面试涵盖背景了解、技术提问、代码挑战、行为问题,最终结束面试并告知候选人1-2个工作日内反馈结果。 面试官开场与候选人自我介绍 * 面试团队自我介绍 :Johnny为Dealer Studio前端负责人,Lana为移动端团队成员,Hamish为移动端高端开发,本次面试因面试官对候选人的技术评估表现印象深刻发起。 * 候选人技术背景介绍 :候选人Jackson本科和硕士均为计算机科学专业,最初从事Java方向开发,做过J2EE与Android项目,之后转用React技术栈,专注前端与React Native开发,还在GitHub贡献过开源项目。 * 候选人对公司的初步认知 :候选人认为Dealer Studio是远程优先的公司,猜测业务和汽车行业经销商相关。 公司业务与技术栈介绍 * 团队分布与客户规模 :公司是远程企业,团队成员分布在澳大利亚多地(珀斯、布里斯班、达尔文),还有1名成员在新加坡,当前运营超过1000个网站,服务800家汽车经销商。 * 内核业务与技术栈 :内核业务是为汽车经销商搭建网站,同时提供CMS、线索管理系统、React Native移动端应用、库存聚合与分析工具;前端使用React+Next.js,98%以上使用TypeScript,后端使用Ruby on Rails,移动端开发为主,偶尔需要修改后端代码。 候选人过往技术栈使用情况 * 内核技术栈明细 :候选人上一份工作内核为React Native项目,前端使用TypeScript,会调用原生层的Java与Objective-C代码,使用REST API与MongoDB管理数据,通过GitHub Actions管理CI/CD。 * 项目构建与工具使用 :候选人使用Expo EAS构建项目并发布到Google Play与App Store,使用React Native Testing Library做测试,使用React Query做数据请求管理,使用NativeWind做样式开发,使用React Navigation做路由管理。 技术问题:问题排查方法 * 复杂代码复用问题解决方案 :候选人遇到React项目代码向React Native项目复用的问题时,会创建shared文件夹,存放可复用的通用组件提升代码复用率。 * 原生API适配问题处理 :候选人遇到Expo官方文档未覆盖的原生API定制需求时,会查阅第三方文档与原代码,自行测试解决问题。 * Expo项目三种方案对比 :Expo托管方案简单、文档完善但缺少原生API支持;Expo预构建方案支持更多原生API、可使用EAS发布,但可能和企业现有CI/CD流程冲突;裸React Native方案功能强大但复杂度高,需要同时处理Android与iOS两端的问题。 * UI问题排查工具 :遇到UI异常问题时,候选人优先使用Chrome开发者工具查看网络与UI元素,使用React Native开发者工具调试组件行为,使用Redux开发者工具追踪数据流。 技术问题:HTTP基础方法 * 候选人初始误解问题方向 :候选人最初将问题误解为讲解HTTP连接创建过程,讲解了DNS解析、三次握手创建连接、四次挥手断开连接的流程。 * 纠正后的回答内容 :基础HTTP方法包括GET、POST、DELETE等,React项目中常用Axios发送请求,Node.js后端常使用Express框架处理请求,请求响应使用JSON格式传输,需要处理异常,且因为HTTP请求是异步的,需要使用async/await处理Promise返回结果。 技术问题:React状态管理与Hooks * 状态管理方案对比 :Redux功能强大,适合大型项目的多组件通信,可以追踪数据流方便调试,但是需要编写大量样板代码;Zustand等轻量库更简单,不需要手动触发同步,样板代码更少;组件内部可以使用useState管理本地状态,也可以通过props做父子组件通信,还可以自定义Hooks管理状态。 * useEffect的作用与依赖数组 :useEffect用于处理渲染后的副作用,不属于纯函数,会在组件渲染完成后调用;依赖数组用于控制useEffect的触发次数,传入空数组时useEffect只调用一次,传入依赖变量,变量变化时会重新触发useEffect。 技术问题:Git工作流 * 候选人日常Git使用习惯 :候选人每天都会使用Git和GitHub,习惯在终端使用命令行操作Git,不使用图形接口工具。 * 基础工作流内容 :日常使用 git add 、 git commit 提交代码, git pull 拉取远程最新代码,解决冲突后合并, git push 推送到远程仓库;在GitHub上发起Pull Request做代码评审,配置CI/CD流水线自动测试部署,还可以使用GitHub Wiki编写文档,使用发版功能管理不同版本。 技术问题:React与React Native差异 * 内核差异说明 :React运行在浏览器中,基于DOM,使用HTML与CSS实现接口;React Native会将组件编译为对应平台的原生UI控件,最终输出是原生应用。 * 可复用部分说明 :两者可以复用自定义Hooks、通用业务逻辑、工具函数、基础UI逻辑等内容,减少重复开发。 技术问题:React Native基础开发问题 * 路由管理方式 :候选人主要使用React Navigation库做路由管理,最新版本支持App Router技术,可以注册页面,调用导航方法跳转页面,开发时会借助AI工具获取分步指导。 * 样式开发方式 :React Native不能直接使用CSS,缺省使用JavaScript StyleSheet编写样式,也可以通过桥接工具使用CSS,还可以借助AI工具快速完成样式开发。 JS事件循环代码挑战 * 候选人给出的答案 :题目是带延迟0的setTimeout、普通同步log、Promise then的输出顺序问题,候选人认为输出顺序和代码编写顺序完全一致。 * 面试官讲解正确答案 :正确输出顺序是同步log → Promise then → setTimeout;JavaScript是单线程,存在宏任务与微任务队列,Promise属于微任务,会在当前同步代码运行完成后立即运行,setTimeout属于宏任务,即使延迟设置为0,也会等到所有同步代码和微任务运行完成后再运行。 行为问题:PR被要求删除全部代码的应对方案 * 候选人应对思路 :首先会自行研究对方的方案,充分理解为什么要删除现有代码,之后如果认可对方方案,会完全接受对方的更优方案;如果不认可,会清晰给出自己的理由沟通,若沟通无法达成一致,可以找项目经理介入协调。 * 面试官对回答的评价 :面试官认可候选人的回答思路,提醒候选人接到任务后先明确需求,可以避免做无用功。 行为问题:作为团队lead无法按时交付的应对方案 * 候选人应对思路 :首先会主动向上级项目经理反馈风险,询问能否延期交付或者调整任务优先级;之后会和初级开发一起解决问题,帮助对方推进进度;最后会做覆盘,要求团队成员在每日站会主动提出遇到的阻塞问题,提前暴露风险提前处理。 * 面试官对回答的评价 :面试官认可候选人的思路,该思路体现了责任心,会主动保护团队成员,提前暴露问题,公司内部也会采用主开发加辅助开发的配置,方便遇到风险时及时增派人手。 面试收尾环节 * 候选人入职时间与工作权限 :候选人当前待业,可以一周内入职,并且拥有澳大利亚永久居留权,可以全职合法工作。 * 后续流程说明 :面试官告知候选人会在1-2个工作日内给出面试结果,通过邮件反馈。 📅 章节概要 00:00:51 面试开场与团队自我介绍 本次面试是Dealer Studio针对React Native开发岗位的招聘面试,面试团队由前端负责人Johnny、移动端团队成员Lana、移动端高端开发Hamish组成。Johnny开场说明,面试官团队对候选人Jackson的技术评估结果非常满意,因此发起本次面试,由Hamish率先开始提问。 00:01:40 背景了解环节 Hamish首先请Jackson介绍个人编码背景,Jackson说明自己本科和硕士均为计算机科学专业,最初做Java方向开发,有J2EE和Android项目经验,之后转React技术栈,专注前端与React Native开发,还在GitHub做过开源贡献。随后Hamish请Jackson介绍对Dealer Studio的了解,Jackson认为公司是远程优先企业,猜测业务和汽车行业经销商相关。 00:05:06 面试官介绍公司业务与技术栈 面试官确认Dealer Studio确实是远程企业,团队成员分布在澳大利亚多地,还有1名成员在新加坡,目前运营超过1000个网站,服务800家汽车经销商。公司内核业务是为汽车经销商搭建网站,同时提供内容管理系统、线索管理系统、React Native移动端应用、库存聚合与分析工具;技术栈方面,前端用React+Next.js,98%以上用TypeScript,后端用Ruby on Rails,移动端开发为主,偶尔需要修改后端代码。 00:07:17 候选人过往技术栈使用情况分享 Hamish请Jackson介绍上一份工作使用的技术栈,Jackson说明内核是React Native项目,前端用TypeScript,会调用原生层的Java和Objective-C代码,用REST API和MongoDB管理数据,通过GitHub Actions做CI/CD,使用Expo EAS构建项目并发布到应用商店,用React Native Testing Library做测试,React Query做数据请求管理,NativeWind做样式,React Navigation做路由。 00:10:10 技术提问:问题排查实践 Lana请Jackson分享最近解决的技术问题,Jackson分享了三类常见问题:第一是React代码向React Native复用时,通过创建shared文件夹存放可复用组件提升复用率;第二是Expo文档未覆盖的原生API需求,需要查阅第三方文档和原代码自行测试;第三是对比了三种Expo项目方案的优缺点:托管方案简单但原生API支持不足,预构建方案支持更多原生API但可能和企业流程冲突,裸React Native方案功能最强但复杂度最高。随后Lana询问UI异常的排查方法,Jackson说明会用Chrome开发者工具、React Native开发者工具、Redux开发者工具分别排查不同问题。 00:17:21 技术提问:HTTP基础 Lana请Jackson解释基础HTTP方法,Jackson最初误解问题,讲解了HTTP连接创建的DNS解析、三次握手、四次挥手流程。Johnny纠正问题方向后,Jackson说明基础方法包括GET、POST、DELETE,项目中常用Axios发送请求,Node.js后端用Express处理请求,响应用JSON格式,需要处理异步请求和异常,用async/await处理Promise。 00:22:13 技术提问:React状态管理与Hooks Lana请Jackson解释React状态管理,以及useState和useEffect的差异,Jackson说明Redux适合大型项目,功能强大可追踪数据流但样板代码多,Zustand等轻量库更简单,样板代码少,组件内部可用useState管理本地状态。随后Johnny询问useEffect依赖数组的作用,Jackson说明依赖数组控制触发次数,空数组只运行一次,依赖变化时重新触发。 00:29:22 技术提问:Git工作流 Lana请Jackson说明日常使用的Git基础工作流,Jackson说明习惯在终端用命令行操作,日常用git add、git commit提交,git pull拉取合并代码,解决冲突后git push推送到远程,在GitHub发起Pull Request做代码评审,配置CI/CD自动测试部署,还可以用Wiki写文档,管理项目发版。 00:32:16 技术提问:React与React Native差异 Lana请Jackson说明React和React Native的内核差异,Jackson说明React运行在浏览器,基于DOM使用HTML和CSS,React Native会把组件编译为对应平台的原生控件,最终生成原生应用,两者可以复用自定义Hooks、业务逻辑、工具函数等内容。 00:34:50 技术提问:React Native开发基础 Lana依次询问了React Native开发的几个基础问题:路由管理方面,Jackson主要用React Navigation,最新版本支持App Router,开发时会借助AI获取分步指导;可滚动列表组件,Jackson没能准确说出FlatList,Lana补充说明FlatList性能优于ScrollView,因为它只渲染屏幕可见区域的内容;样式开发方面,React Native缺省用JavaScript StyleSheet,也可以通过桥接使用CSS,日常开发会借助AI工具快速完成样式编写。 00:41:08 JS事件循环代码挑战 Johnny给出一道关于JS事件循环的代码题,题目包含同步log、延迟0ms的setTimeout、Promise then,要求给出输出顺序并解释原因,Jackson认为输出顺序和代码顺序一致。Johnny讲解正确答案,正确顺序为同步log → Promise then → setTimeout,内核原因是JavaScript单线程,Promise属于微任务会在同步代码运行完立即运行,setTimeout属于宏任务,需要等所有微任务运行完才会运行。 00:45:35 行为问题:PR代码被要求全部删除的应对 Johnny给出第一个行为问题:如果自己写了几天的PR被同事要求全部删除替换为新方案,该如何处理。Jackson的应对思路是:先自行研究对方方案理解原因,认可方案就接受,不认可就清晰沟通,沟通无果可以找经理介入。Johnny认可这个思路,补充提醒接到任务先明确需求,可以避免做无用功。 00:50:34 行为问题:作为team lead无法按时交付的应对 Johnny给出第二个行为问题:晋升为team lead后带领项目,因为初级开发能力不足无法跟上进度,项目无法按时交付该如何处理。Jackson的应对思路是:先主动向上级项目经理反馈风险,申请延期或者调整优先级,然后和初级开发一起解决问题推进进度,最后覆盘要求团队在每日站会提前暴露阻塞风险。Johnny非常认可这个思路,称该思路体现了合格的领导力,公司内部也会采用主开发加辅助开发的配置,方便遇到风险时及时增派人手。 00:55:12 面试收尾确认信息 面试进入收尾环节,Johnny确认候选人的可入职时间和工作权限,Jackson说明当前待业,可以一周内入职,并且拥有澳大利亚永久居留权,可全职合法工作。Johnny告知候选人,面试官团队会在1-2个工作日内完成评估,通过邮件发送面试结果,结束本次面试。 ✨ 金句精选 “If there comes a better solution, why not just use it? I’m totally open to it.” (运行策略) “We all just want to polish the products and we want to make it better.” (思考启发) “If everything is too late to be noticed, then it’s kind of hard to rescue.” (运行策略) 📋 待办事项 Johnny:1-2个工作日内完成面试评估,给Jackson发送反馈邮件 Jackson:等待Dealer Studio的面试结果反馈
2026-03-19 11:20
您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 0小时 23分钟 参与人数 :约 2 人 内容类型 :求职面试 录音总结 这是一场澳洲金融科技公司Stake的前端工程师岗位初面,候选人分享了自身全栈开发经验、求职动机、薪资预期和工作安排要求,双方沟通顺畅,预期后续进入下一招聘流程。 面试开场与通话问题处理 * 开场问候 :面试官安排15-20分钟的初面沟通,内核围绕候选人经验和岗位匹配度展开交流。 * 通话故障修复 :候选人一开始因电话噪音无法听清面试官内容,调整后通话恢复正常。 岗位方向偏好沟通 * 岗位分类说明 :Stake工程部门目前分后端倾斜、前端倾斜两类独立开发岗位,无需候选人同时覆盖两个方向。 * 候选人方向选择 :候选人明确偏好前端工程师岗位,若能结合原生移动开发工作内容更佳,契合自身经验积累。 候选人技术栈与过往经验介绍 * 前端技术积累 :候选人日常使用React、JavaScript、TypeScript开发,目前使用React 18和Next.js,符合前端JavaScript技术栈要求。 * 原生移动开发经验 :候选人拥有超过10年Android原生开发经验,曾开发过服务百万级用户的Android应用。 * 全栈技术能力 :候选人会使用Node.js、NestJS、GraphQL做后端开发,熟悉AWS基础设施、Docker和CI/CD流水线。 目标岗位技术栈适配沟通 * 目标岗位技术栈说明 :Stake前端岗位使用Angular 18,移动端使用Ionic混合开发框架,都基于TypeScript开发。 * 候选人适配态度 :候选人未接触过Angular和Ionic,但对前端新技术保持好奇心,愿意学习新的技术栈。 * 面试官态度 :面试官表示不需要候选人预先匹配所有技术栈,合格开发者可以快速学习新技能,这一点不影响面试评估。 候选人对Stake的认知与求职动机 * 候选人对Stake的认知 :候选人知道Stake是澳大利亚的金融科技公司,主营业务是提供股票投资服务,帮助用户便捷投资购买股票。 * 求职动机第一点 :候选人喜欢写文档分享知识,Stake招聘信息中提到的分享文化符合自身工作习惯,对他有吸引力。 * 求职动机第二点 :候选人希望拥有推进项目、提出技术方案的空间,Stake的岗位描述承诺给开发者发挥空间,契合他的需求。 * 求职动机第三点 :Stake招聘信息提到不要求技术栈100%匹配,只要学习能力足够即可,开放包容的文化吸引了候选人。 面试官介绍Stake公司与业务 * 公司定位 :Stake是面向个人投资者的投资平台,主打简单易用的网页端和移动端产品。 * 内核优势 :过去几年快速增长的原因是优秀的产品用户体验,包括更快的页面加载、微交互和动画效果,降低了股票交易的复杂度。 * 公司使命 :Stake的使命是激发每个人内心的投资者,帮助用户在日常工作之外积累个人财富。 候选人近期项目经历分享 * 项目内容 :候选人最近在电动出行领域的澳大利亚公司Triadium,负责开发跨平台电动汽车实时车队管理平台,覆盖网页和移动端。 * 个人职责 :候选人负责整个系统的端到端架构设计,前端用React 18和Next.js 14的App Router开发响应式仪表盘,复用网页和React Native的共享组件减少重复工作。 * 后端工作内容 :候选人用NestJS和Apollo Federation搭建GraphQL网关,通过MQTT聚合AWS IoT Core的实时遥测数据。 * 工作偏好 :候选人更偏好深入技术、提出技术方案的工作,不倾向纯管理岗,可以接受基础的项目管理、代码评审相关工作。 候选人离职原因说明 * 当前公司背景 :Triadium是全球知名的电动汽车充电领域企业,客户包括特斯拉。 * 离职原因 :近期公司利润持续下滑,因此候选人选择寻找新的工作机会。 候选人工作安排与资质说明 * 当前所在地 :候选人目前居住在澳大利亚悉尼,持有澳大利亚永久居留签证,具备合法工作资质。 * 办公模式偏好 :候选人因家人居住在中国,需要偶尔回国探亲,中国时区仅比悉尼慢2小时,不影响日常工作,因此偏好全远程办公模式。 * 到岗时间 :候选人不需要通知期,可以立即入职新工作。 薪资预期沟通 * 候选人预期 :候选人结合悉尼的薪资水平,提出年薪范围为12万澳元到14万澳元。 * 面试官反馈 :该范围和Stake此岗位的招聘薪资区间完全匹配,岗位薪资的理想范围在13万-13.5万澳元,符合市场行情。 面试后续流程安排 * 面试官下一步动作 :面试官会将面试记录和候选人简历发送给招聘经理。 * 评估时间 :招聘经理会在未来几天内评估申请,会在24-48小时内给候选人反馈结果。 * 后续安排 :如果进入下一环节,面试官会告知候选人后续的面试流程。 📅 章节概要 00:00:00 面试开场与通话故障处理 面试官开场感谢候选人抽出时间,说明本次初面时长为15-20分钟,主要沟通候选人经验和岗位匹配度。通话初期候选人因电话噪音无法听清面试官内容,调整设备后通话恢复正常,双方继续沟通。 00:01:09 岗位方向偏好沟通 面试官说明Stake工程部门目前有后端倾斜和前端倾斜两类独立开发岗位,询问候选人的方向偏好,明确两类都有开放岗位,没有对错之分。候选人表示自己更偏向前端,积累了React、JavaScript、TypeScript相关经验,如果能结合原生移动开发工作内容会更符合他的预期。 00:02:46 候选人全栈开发经验介绍 候选人介绍自身技术积累,前端属于JavaScript技术栈,使用React相关的UI组件开发。他拥有超过10年Android原生开发经验,曾搭建服务百万级用户的Android应用。后端方面他会使用Node.js、NestJS、GraphQL,熟悉AWS基础设施、Docker和CI/CD流水线,属于跨平台全栈开发者。 00:04:42 目标岗位技术栈适配沟通 面试官说明Stake前端岗位使用Angular 18,移动端使用混合开发框架Ionic,询问候选人学习新框架是否存在问题。候选人表示自己此前未接触过这两个技术栈,但作为前端开发者对新技术保持好奇心,愿意学习新框架。面试官表示不需要候选人预先匹配所有技术栈,合格开发者可以快速学习新技能,这一点不影响面试评估。 00:06:48 候选人对Stake的认知与求职动机分享 面试官询问候选人对Stake的了解和求职原因,候选人表示知道Stake是金融科技公司,提供股票投资服务,帮助用户便捷投资。他分享三点求职动机:一是Stake的文档分享文化契合他喜欢写文档分享知识的习惯;二是岗位承诺给开发者发挥空间,允许开发者推进项目、提出技术方案,符合他的需求;三是Stake不要求技术栈100%匹配,更看重学习能力,开放包容的文化吸引了他。 00:08:03 面试官介绍Stake公司与业务定位 面试官确认候选人对Stake的认知正确,补充介绍公司信息:Stake是面向个人投资者的投资平台,主打简单易用的网页和移动端产品。过去几年公司快速增长,内核原因是前端工程师打造的优秀用户体验,包括更快的页面加载、流畅的微交互和动画,降低了股票交易的复杂度。公司的使命是激发每个人内心的投资者,帮助用户在日常工作之外积累财富。 00:09:20 候选人近期项目经历与工作偏好分享 候选人介绍自己近期的项目:在Triadium公司负责开发复盖网页和移动端的跨平台电动汽车实时车队管理平台。他负责整个系统的端到端架构设计,前端使用React 18和Next.js 14开发响应式仪表盘,复用网页和React Native的共享组件减少重复工作,提升交付速度。后端用NestJS和Apollo Federation搭建GraphQL网关,通过MQTT聚合AWS IoT Core的实时遥测数据。他表示更偏好深入技术问题、提出技术方案的工作,不倾向纯管理岗,可接受基础项目管理和代码评审工作。 00:12:59 候选人离职原因说明 面试官询问候选人当前任职的公司信息,候选人说明Triadium是澳大利亚本土、全球知名的电动汽车充电领域企业,内核客户包括特斯拉。因为近期公司利润持续下滑,所以他选择寻找新的工作机会,他本人仍然非常喜欢前端开发工作。 00:17:52 工作地点、办公模式与资质沟通 面试官询问候选人当前所在地,候选人表示自己目前住在悉尼,持有澳大利亚永久居留签证,具备合法工作资质。面试官说明公司即将搬迁到悉尼CBD的Wynyard,询问通勤是否有问题,随后补充说明该岗位支持全远程办公,询问候选人是否接受。候选人表示家人住在中国,他偶尔需要回国探亲,两地时区仅差2小时不影响工作,因此更偏好全远程办公模式,他已经在Triadium全职工作多年,符合本地用工要求。 00:21:26 到岗时间与薪资预期沟通 面试官询问候选人的通知期,候选人表示不需要通知期,可以立即入职。随后面试官询问薪资预期,候选人结合悉尼的薪资水平,提出年薪范围为12万澳元到14万澳元。面试官反馈该范围和Stake此岗位的招聘区间完全匹配,该岗位的理想薪资范围在13万-13.5万澳元,符合市场行情。 00:22:36 面试收尾与后续流程说明 面试官说明后续安排:他会将本次面试的记录和候选人简历转交给招聘经理。招聘经理会在未来几天内完成评估,会在24-48小时内给候选人反馈结果。如果候选人通过初面,会再告知后续的面试流程。双方互相致谢,结束本次面试。 00:23:31 面试后随手感慨 面试结束后,录音者感慨本次面试面试官能够接受自己的要求与预期。 ✨ 金句精选 作为开发者,总有新东西出现,学习能力是开发岗的内核能力。 (思考启发) 我们的使命是 unleash the investor in everyone,帮助普通人在日常工作之外积累财富。 (战略洞见) 📋 待办事项 面试官:将本次面试的记录和候选人简历转发给招聘经理 招聘经理:评估候选人的申请,在24-48小时内给出反馈结果 💡 我的发言回顾 我的角色 :面试候选人 / 录音记录者 发言风格 :清晰有条理,如实分享自身经验与需求,逻辑明确 关键产出 :完成了初面沟通,传递了自身技术能力、求职需求,薪资预期匹配招聘要求 高光时刻 :清晰匹配了岗位要求,传递了自己愿意学习新技术的开放态度,获得面试官认可
