Skip to content

后端开发

共 2 条笔记


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-03-19 11:08

您的浏览器不支持 audio 元素。 📑 智能总结 录音信息 时长 :约 0小时 47分钟 参与人数 :约 2 人 内容类型 :技术面试 录音总结 本次是一场时长45分钟的技术面试,分为35分钟技术环节与10分钟候选人提问环节,面试官Jeremy考察候选人Java编码能力与系统设计能力,最终完成全部考核,结束面试。 面试流程与规则说明 * 面试环节划分 :总时长为45分钟,其中实际技术考核占35分钟,开头5分钟与最后5分钟留给候选人提问。面试分为编码与系统设计两个部分,主要考察候选人多维度技术能力。 * 工具使用规则 :允许候选人使用Google搜索技术文档,但禁止使用任何AI工具完成面试。 * 面试官背景介绍 :面试官Jeremy已经在相关公司工作超过4年。 Java编码面试:批量URL请求功能实现 * 初始需求说明 :要求编写Java方法,输入为URL列表,输出对应URL的GET请求响应体,允许候选人使用任意HTTP类库。 * 开发过程调整 :候选人遇到Java原生HTTP接口开发的调试问题,面试官建议直接仿真响应,不用花时间调试原生类库。 * 并发优化调整 :候选人最初为所有URL创建单个线程处理,面试官提醒如果处理10000个URL需要优化,候选人改为使用固定线程池,线程数量可根据CPU内核数动态计算。 * 编码面试收尾 :候选人调整后完成需求,面试官对代码截屏,编码部分正式结束。 系统设计面试:生产级URL获取服务设计 * 设计需求说明 :要求将已验证功能的POC(概念验证)改造为可面向客户、支持每天百万级请求的生产API服务,客户调用接口提交URL列表获取对应响应,用户来自全球各地。 * 基础分层架构设计 :候选人设计分为API层、缓存层、数据保存层:API层接收客户请求,使用Redis做热点URL缓存加快响应速度,使用PostgreSQL保存URL的访问热度统计,还可引入Elasticsearch支持搜索功能。 * 流量控制方案 :针对单用户滥用场景,候选人提出对单个用户设置请求速率限制,比如限制每分钟最多10个请求,可采用滑动窗口或漏桶算法实现。 * 突发流量优化方案 :针对多用户同时在峰值内发请求的场景,候选人提出通过Redis缓存复用相同URL请求结果,降低后端负载,同时采用多机器集群部署应对高吞吐量需求。 * 保存内容说明 :PostgreSQL中保存URL本身以及该URL的访问计数,用于统计热门URL排序。 候选人向面试官提问环节 * 岗位日常工作咨询 :该岗位为通用后端岗位,还未分配到具体团队,公司全公司采用敏捷开发模式。 * 日常工作内容说明 :团队采用Sprint迭代,每日站会同步进度,资深工程师需要驱动项目、解决阻塞问题、指导初级工程师,对接经理和资深工程师同步技术问题。 * AI工具使用政策咨询 :公司允许日常工作使用AI工具,并且在AI工具上投入大量资源,自研了Level Dev相关大模型,也允许使用GPT、Gemini等其他外部模型工具。 📅 章节概要 00:01:02 面试开场与基本情况沟通 双方互相打招呼,候选人目前居住在悉尼,提前为可能出现的宠物狗干扰提前致歉。面试官对候选人的参与表示感谢。 00:01:50 面试流程与规则说明 面试官介绍本次面试分为编码和系统设计两个部分,总时长45分钟,其中技术考核占35分钟,开头和最后各留5分钟给候选人提问。面试官询问候选人偏好的编程语言,确认候选人选择Java。面试官说明规则:允许Google搜索文档,禁止使用AI工具,随后介绍自己是Jeremy,已经在公司工作超过4年,要求候选人共享屏幕开始面试。 00:04:18 编码需求发布与初步开发 面试官提出编码需求:编写Java方法,输入URL列表,返回对应GET请求的响应体,允许使用任意HTTP类库。候选人提出需要Google搜索HTTP相关类的用法,面试官表示允许,并且提出如果实现太复杂,可以仿真HTTP请求的响应,不需要真的发送请求。候选人确认后开始编写代码。 00:06:27 编码开发与调试调整 候选人开始编写方法,依托IDE提示逐步开发,过程中遇到HTTP接口参数配置、语法的问题,面试官再次提醒如果实现太复杂,可以直接仿真响应,不需要纠结底层库的调试。候选人继续完成原生HTTP请求的开发,完成后运行代码遇到协议不支持的错误。 00:15:33 调整为仿真实现并完成编码 面试官提出不需要调试底层库问题,让候选人自定义一个仿真的HTTP客户端,返回对应URL的虚拟响应即可。候选人按照要求调整代码,完成仿真实现。面试官提出需求修改:要求支持输入URL列表输出响应列表,候选人确认后开始调整。 00:18:32 并发方案调整与编码收尾 候选人考虑到并发需求,最初计划为所有URL创建单个线程处理,面试官提问如果有10000个URL,单线程无法满足性能要求,候选人意识到问题,改为使用Java线程池处理。候选人选择固定线程池,提出线程数量可根据CPU内核数动态计算,完成代码调整。面试官让添加两个测试URL运行,随后对代码截屏,编码部分正式结束。 00:27:53 系统设计需求发布 面试官进入系统设计环节,提出设计需求:将已经验证可行的POC批量URL获取功能,改造为面向客户的生产API服务,要求支持每天百万级请求,客户调用接口提交URL列表,获取对应URL的响应,用户来自全球各地。候选人确认需求细节后开始设计。 00:32:22 候选人阐述基础架构设计方案 候选人设计分层架构:最上层为API层,首先使用Redis缓存热点URL,加快响应速度,提升缓存命中率;使用PostgreSQL保存URL访问统计数据,用于计算热门URL;还可以引入Elasticsearch提供搜索功能。候选人确认需求细节:客户只需要获取指定URL的响应,不需要后续其他操作。 00:35:23 流量控制与突发流量优化方案 针对单用户滥用系统的问题,候选人提出采用滑动窗口或漏桶算法做速率限制,可对单个用户设置每分钟最多10个请求的限制。针对多用户同时在峰值发送合法请求的场景,候选人提出通过Redis缓存相同URL的请求结果,减少后端重复请求,同时采用多机器集群部署提升整体吞吐量,Redis还可以作为集群共享的缓存中心,保证多节点缓存一致性。 00:41:02 架构细节确认与面试考核结束 面试官询问PostgreSQL中保存的内容,候选人回答保存URL和URL的访问计数,用于统计热门URL排序。面试官确认所有技术问题考察完成,留出时间给候选人提问。 00:43:33 候选人提问环节 候选人首先询问该岗位的日常工作内容,面试官回答该岗位是通用后端岗位,暂时未分配到具体团队,公司全公司都采用敏捷开发,日常会做Sprint迭代、每日站会,资深工程师需要驱动项目、解决阻塞、指导初级工程师,对接管理者和资深工程师。候选人接着询问公司是否允许日常工作使用AI工具。 00:46:08 AI工具政策解答与面试结束 面试官回答公司允许日常使用AI工具,并且在AI工具研发投入了大量资源,自研了名为Level Dev的大模型工具,同时也允许员工使用GPT、Gemini等其他外部AI工具。候选人表示没有其他问题,双方致谢后结束面试。 ✨ 金句精选 “从设计点的查看,我们应该 leverage 每种技术的优势,然后尽量避开它的劣势。” (运行策略) “资深工程师需要驱动项目,解决自己和团队的阻塞,还要指导团队里的初级工程师。” (战略洞见) 📋 待办事项 无