收钱吧面经分享

收钱吧26校招Java开发岗的面试,整体面试感受和流程都挺好的,重点记录一下面试的经过吧,供各位同学参考参考~~

收钱吧的面试我觉得是问的比较细腻的,不是很容易答完整(大佬的话当我没说),流程很快,3天都是白天面试差不多晚上出结果,均可以选线上或线下。面我的是复旦的博士,很厉害。

面试围绕学术背景、项目经验、专业知识展开。

项目这块,主要重点会针对简历上的项目进行沟通。要结合具体项目场景,阐述自己的思考过程,不要纯背答案。建议大家在准备项目时,选择有实际数据处理、模型训练经验的课题,哪怕是课程设计,也要深入思考每个设计决策背后的逻辑。

然后是专业知识,这个考察就比较通用,如 Java 基础(集合、线程池、锁机制等)、计算机基础(序列化、单例模式)、数据库(索引、事务)等。

建议提前准备Java 底层原理,项目中多思考数据一致性、高负载场景优化等问题。也不必太过紧张,业务面的大佬挺nice,根据自己的经验详细分享就行了。

收钱吧的面试过很专业,提出的问题能看出来是巨佬儿。HR流程推动的也蛮快的~许愿offer!

#发面经攒人品##收钱吧秋招#
全部评论
面试体验看起来很好了
1 回复 分享
发布于 09-17 09:22 安徽
官网投递吗
点赞 回复 分享
发布于 09-17 08:31 辽宁

相关推荐

核心思路是先统计链表总长度,确定需要反转的组数,再逐组局部反转并重新连接,计算出需要反转的组数s = n/k;然后循环s次,每次对当前 k 个节点进行局部反转,反转后将当前组的首尾与前后部分重新连接,最后返回处理后的链表头。对应的代码解析如下:class Solution {public:ListNode* reverseKGroup(ListNode* head, int k) {if(!head || k == 1) return head; // 空链表或k=1无需反转ListNode* dummy = new ListNode(0); // 虚拟头节点,简化头节点处理dummy->next = head;ListNode* cur = head;ListNode* pre = dummy; // 记录上一组的尾节点ListNode* next = nullptr;ListNode* prev = nullptr;ListNode* temp = nullptr; // 记录当前组反转前的头节点int n = 0;while(cur != nullptr) {n++;cur = cur->next;}cur = head;if(n == 1) return head; // 只有1个节点直接返回int s = n / k; // 计算需要反转的组数while(s--) {for(int i = 0; i < k; i++) {if(i == 0) temp = cur; // 记录当前组反转前的头节点next = cur->next;cur->next = prev; // 当前节点指向前一个反转节点prev = cur;cur = next;}pre->next = prev;temp->next = cur;pre = temp; // 更新上一组的尾节点为当前组反转前的头节点prev = nullptr; // 重置反转前驱指针}ListNode* newhead = dummy->next;delete dummy; // 释放虚拟头节点,避免内存泄漏return newhead;}};该解法的时间复杂度为 O (n),空间复杂度为 O (1)。
点赞 评论 收藏
分享
评论
16
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务