【🔥急招】阿里1688事业部

【岗位名称】1688事业部-商家经营-高级JAVA工程师
【招聘职级】p5/p6/p7
【岗位职责】
1. 负责设计和实现商家经营场景下,复杂任务的多步骤规划执行的能力(planing、agent)
2. 负责关键技术的引入、实现、落地,如RPA、planing、NL2API等
3. 负责建立大模型应用领域的基建要求并解决相应问题,如效果评测、数据质量、安全等
4. 负责定位、分析商家经营链路中的智能化需求点,并设计相应的解决方案
5. 负责商家智能化CRM产品、智能经营分析和多轮问答等产品的开发落地升级
6. 负责高阶商家日常经营和商家成长的需求开发落地
7. 负责梳理、分析不同分层分类下商家的经营问题、成长阻碍、机会空间
8. 负责针对重点分类下的商家设计相应的解决方案,综合利用业务和技术手段,实现商家增长
9. 负责推动和落地AB实验、因果推断等科学决策方案的落地
【任职要求】
1. 有丰富的 Java 开发经验,有并发编程经验,熟悉文件 I/O,网络 I/O 及类加载等机制细节;
2. 有大规模分布式系统或者类库的研发经验,熟悉主流开源中间件,深入了解实现机制,有社区贡献者优先;
3. 熟悉 JVM 基础知识,具有一定的调优经验和内存、线程相关问题排查经验;
4. 有技术热情和较强的学习能力,对于新技术有浓烈的好奇心,有很好的问题分析和技术攻关能力,具有良好的团队合作能力、沟通能力、抗压能力;
5. 有较好的业务敏锐度,了解自己所处行业/业务的数据情况,问题难点,并对业务发展思考者优先考虑
6. 有一定数据处理经验,熟悉离在线数据处理和分析者优先

还有hc,时不我待
全部评论
我我我
点赞 回复 分享
发布于 2024-01-03 17:08 北京
如果是校招之前投递过淘天,无法再内推
点赞 回复 分享
发布于 2024-01-03 12:40 浙江

相关推荐

0816 京东笔试答案第一题, 减少逆序对数量对于每个 ai, 找到 所有 aj = a[i] + 1 且 j < i 的 j, 则对于选择 j < L <= i 的 L 贡献 +1, 然后做一个前缀和取最大值即可代码```#include <iostream>#include <cstring>#include <algorithm>#include <vector>#include <unordered_map>using namespace std;void solve(){int n; cin >> n;vector<int> a(n + 10, 0), b(n + 10, 0), c(n + 10, 0);unordered_map<int, vector<int>> pos;for (int i = 1; i <= n; i ++){cin >> a[i];}for (int i = 1; i <= n; i ++){int v =a[i];int t = v + 1;if (pos.find(t) != pos.end()){for (int j : pos[t]){if (j < i){b[j + 1] ++;b[i + 1] --;}}}pos[v].push_back(i);}int ans = 0;int tmp = 0;for (int i = 1; i <= n; i ++){tmp += b[i];ans = max(ans, tmp);}cout << ans << endl;}int main(){int _ = 1;cin >> _;while (_ --){solve();}}```第二题, 跳水打分解法类似求区间最值, 维护每个长度为 m 的区间的最大值和最小值, 然后遍历过去即可算出答案。代码```#include <bits/stdc++.h>#define PII pair<long, long>#define x first#define y secondusing namespace std;int main(){int n, m;cin >> n >> m;priority_queue<PII> maxPq;priority_queue<PII, vector<PII>, greater<PII>> minPq;vector<long long> a(n + 10);double ans = 0;long long tmp = 0;for (int i = 1; i <= n; i ++) cin >> a[i];for (int i = 1; i <= m; i ++){maxPq.push({a[i], i});minPq.push({a[i], i});tmp += a[i];}long long minV = minPq.top().x;long long maxV = maxPq.top().x;ans = double(tmp - minV - maxV) / (m - 2);int ans2 = 1;int l = 1, r = m;while (r < n){// cout << ans << endl;tmp -= a[l]; l ++;r ++; tmp += a[r];minPq.push({a[l], l}); minPq.push({a[r], r});maxPq.push({a[l], l}); maxPq.push({a[r], r});while (minPq.top().y < l) minPq.pop();while (maxPq.top().y < l) maxPq.pop();if ((double(tmp - minPq.top().x - maxPq.top().x) / (m - 2)) > ans){ans = double(tmp - minPq.top().x - maxPq.top().x) / (m - 2);ans2 = l;}}cout << ans2 << endl;}```
投递京东等公司10个岗位
点赞 评论 收藏
分享
查看17道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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