首页 / 校招笔试
#

校招笔试

#
563267次浏览 3138人互动
此刻你想和大家分享什么
热门 最新
PDD暑期一面
实习 1、展开讲一讲实习里的项目经历。你觉得哪个项目印象最深,就讲哪个> 拷打:包括消息队列异步消费、数据丢失和恢复、吞吐与线程池设计、 补偿与幂等详细可以看:https://yb0os1.github.io/2026/03/12/%E6%9A%91%E6%9C%9F%E5%AE%9E%E4%B9%A0%E8%AE%B0%E5%BD%95八股1、线程间共享与可见性:1. 多线程之间如果要共享数据,一般有什么手段?2. 如果线程 A 修改了一个共享变量,线程 B 怎么看到最新值?3. `volatile` 有什么限制?是不是只要用了它就一定能保证线程可见性?4. 除了 `volatile`,还有其他方式能保证线程之间的可见性吗?5. 为什么加锁也能保证可见性?2、线程私有数据1. 线程里有没有自己独有的内存数据?2. 除了栈这些线程私有的数据,还有别的吗?(这里面试官想要我回答ThreadLocal)3、ThreadLocal1. 你听过 `ThreadLocal` 吗?2. `ThreadLocal` 为什么也算线程独享?3. `ThreadLocal` 是怎么做到线程隔离的?4. `ThreadLocal` 平时一般怎么用?5. 使用 `ThreadLocal` 的时候,有什么需要注意的地方?4、源码阅读情况1. 你平时看过哪些框架源码吗?或者你看过哪些写得比较好的开源代码? (说没有 但是后面问了问hashmap)5、HashMap1. 你看过 `HashMap` 的实现代码吗?2. 你知道为什么 `HashMap` 不是线程安全的吗?3. `HashMap` 的线程安全问题一般会在什么环节触发?算法1、记不太清了,一个dfs的题目,没写出来2、多线程顺序打印1-100,线程数量和每个线程打印的个数 作为参数,还是没写出来,编码掌握的不怎么好感觉g了
查看17道真题和解析
点赞 评论 收藏
分享
27暑期实习
zzzilik:但凡有一段 ai 相关经历实习,基本都进了,除了阿里云感觉卡硕
点赞 评论 收藏
分享
网易笔试3月21日
投票
点赞 评论 收藏
分享
2025-10-19 20:25
已编辑
西北农林科技大学 C++
A卷,选择题不做记录,只做编程题记录。编程题有点思考量,最终还是写完了,3/3,希望有面试编程1:一个数组,每次可以选择一个元素a[i],拆成两个和为a[i]的正整数x,y问最少多少次拆分可以让数组最大值不超过最小值的2倍n<=2e5,1<=a[i]<=1e9解法:记录最小值mn,把超过2mn的数字都强制拆成2mn,不足保留余数。这样每次拆分代价就是a[i]/(2mn)-1,如果a[i]无法整除2mn需要多拆一次。复杂度O(n)编程2:一个数组,每次可以选择两个下标i,j,如果n/i==n/j(下取整),则可以把a[i]和a[j]同时变成gcd(a[i],a[j])令最终数组和最小n<=2e5,a[i]<=1e9解法:不妨令n/i(下取整)相同的元素放在一起考虑,他们之间会相互影响,则最小化元素和,就是把每个元素变成他们的公共gcd,计算公共gcd只需要顺序累计gcd即可。复杂度O(nloga[i])编程3:一个数组,每次可以交换两个相邻元素,让数组变成单峰序列,求最小交换次数n<=5e5,a[i]<=1e9解法:按数值从小到大考虑。最小的数值肯定是排在序列头或者序列尾,可以发现每次考虑完最小元素,剩余元素就变成了一个规模缩小的子问题。只需要每次看把最小元素放在头所需步骤更少,还是放在尾所需步骤更少。另外还需要考虑相同元素的情况。先考虑最小元素是单独出现的情况,只需判断元素在原数组里,前面有多少个数字,后面有多少个数字即可。考虑完就把数字从原数组删掉。这里可以用线段树、树状数组、或者提前预处理逆序对也ok然后是相同数字如何处理,假设有k个相同的最小元素。不妨考虑其中q个放在队头,p个放在队尾。很显然我们需要按照这些元素原来的相对顺序,前q个依次放队头,后p个逆序依次放队尾,这样是最优的。直到这个顺序就可以枚举多少个放队头,这里预处理每个元素移动到队头队尾所需的步骤,然后用前缀和优化即可。最终总复杂度O(nlogn)
KeHe:实际上 t3 就是 sum min(左边比a_i大的,右边比a_i大的)
点赞 评论 收藏
分享
uuuuuL:select f.farm_name as farm_name, c.crop_name, c.crop_type, round(avg(health_index), 2) as avg_health_index, round(sum(yield_kg_per_hectare),0) as avg_yield_kg_per_hectare, datediff(max(measurement_date), min(planting_date)) as growth_days from crop_data cd inner join farms f on cd.farm_id = f.farm_id inner join crops c on cd.crop_id = c.crop_id where cd.measurement_date between '2024-03-01' and '2024-06-30' group by cd.crop_id, cd.farm_id,f.farm_name having count(cd.data_id) >= 3 order by avg_health_index desc, avg_yield_kg_per_hectare desc,farm_name
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客网在线编程
牛客网题解
牛客企业服务