公积金不降了吗
点赞 评论

相关推荐

03-13 23:30
已编辑
小红书_后端开发
请先做一个简单的自我介绍。对于Java中的锁机制,你有什么理解?在悲观锁中,Java语言层面有哪些实现方式?它们之间的区别是什么?synchronized和reentrant lock在等待与唤醒机制上有什么区别?你对线程池的理解是怎样的?在使用线程池执行任务时,一般需要注意哪些问题?如何让主线程感知到线程内部的异常?如果线上应用频繁出现GC问题,可能是什么原因导致的?Spring AOP使用的哪种设计模式及代理方式?在哪些场景下会使用Spring AOP,以及使用时应注意哪些问题?问:InnoDB数据库中的索引使用何种数据结构,B+树和B树有何区别?在MySQL中,如何通过explain查询来分析circle执行计划并找出性能差的原因?当查询涉及到多个字段且索引设计有问题时,该如何排查和优化?对于存储数据量大的表,应如何分析其性能问题并提出解决方案?在处理频繁的修改和查询操作时,如何避免引发性能问题?问实习:在对象存储中,你们采用了哪两种经典方式?当时在测试环境中遇到了什么新问题?为了解决这个问题,你们采取了什么优化措施?....算法题:好像easy还是middle直接秒了(已经好久好久没刷题了 稍微写慢了一点)反问:部门业务大概是什么样的?答:部门属于公司个性化工程平台部,主要负责个性化让利、触达、超级VIP体系以及用户画像和标签数据四块业务。
查看17道真题和解析
点赞 评论 收藏
分享
头像
04-02 21:11
已编辑
常州大学 Java
题目:无环树求所有路径最大值的和笔试的时候没写出来,想到了边权按贡献算,但只写了个暴力20%。正解:并查集每个点视为一个联通块,先按边权从小到大排序,逐个加入边。联通块里的值肯定都小于当前边权,那么左右联通块大小就分别代表边左右两侧的节点数,相乘就是路径数。所以贡献 = 左边连通块大小 × 右边连通块大小 × 边权。代码如下struct edge {int u, v, w;edge(int u = 0, int v = 0, int w = 0) : u(u), v(v), w(w) {}bool operator<(const edge &other) const { return w < other.w; }};ll res = 0, n;vector<edge> e;int fa[N], sz[N];int find(int x) { return fa[x] = ((fa[x] == x) ? x : find(fa[x])); }void unite(int x, int y) {int rx = find(x), ry = find(y);if (rx == ry)return;if (sz[rx] < sz[ry])swap(rx, ry);fa[ry] = rx, sz[rx] += sz[ry];}void solve() {cin >> n;for (int i = 1; i < n; i++) {int u, v, w;cin >> u >> v >> w;e.emplace_back(u, v, w);}for (int i = 1; i <= n; i++) {fa[i] = i, sz[i] = 1;}sort(e.begin(), e.end());for (const auto &e : e) {int ru = find(e.u);int rv = find(e.v);if (ru != rv) {// 贡献 = 左边连通块大小 × 右边连通块大小 × 边权res = (res + (ll)sz[ru] * sz[rv] % mod * e.w % mod) % mod;unite(e.u, e.v);}}cout << res << endl;}
查看1道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务