字节暑期凉经

项目点评还有一个agent
1:简历上的 项目 是练手项目还是实习公司项目?
2:介绍项目主要功能。
3:做该项目时遇到的难点及解决方法?
3:什么情况下会使用 Redis?(业务层面)
4:缓存除了快速响应,还有什么重要使用场景?(为什么有 MySQL 还需要缓存?)
5:为什么要用二级缓存?加入本地缓存的考量是什么?
6:Redis 的内存淘汰机制是什么?//答成键淘汰策略了
7:缓存穿透和缓存雪崩了解吗?(定义 + 解决方法)
8:MySQL 的事务隔离级别有哪些?分别说明,InnoDB 默认是哪一种?MVcc怎么做的
9:幻读是什么样的场景?
10:消息队列(RocketMQ)一般是为了解决什么问题?
11:结合项目说明为什么要用 MQ?不用会怎么样?
12:高并发(限时秒杀)情景下的限流是怎么做的?还了解其他限流算法吗?//没答出来 简历也没写
13:JVM 内存模型结构是什么?
14:程序计数器的作用是什么?
15:栈(虚拟机栈 + 本地方法栈)的作用是什么?
16:局部变量在 JVM 内存的哪个结构里?
17:Java 的垃圾回收算法、特点及使用场景? //混淆算法和具体实现了 答的磕磕巴巴
18:JVM 的类加载机制是什么? //提到双亲委派 但是过程答的也不好
19:引入 RAG 之后最大的好处是什么?解决了什么痛点?
20:MCP 是什么?
21:第二个项目中怎么使用 MCP 的?
22:自己平常有没有用ai工具 用了什么?token消耗怎么办 学校有支撑吗 
手撕k个反转链表 与力扣不同的是最后不足k个节点也要反转
手撕边界没弄清楚 递归超时 没有调试 面试官要把构建链表和输入输出都写出来 第一次没运行出来就结束了 可能觉得没必要浪费时间了
反问:给我建议
多尝试用一些ai的工具 大部分公司都会往这方面发展

面试官很好每次答完ai会说出他的理解 感觉面试官更想知道从业务上为什么要用缓存消息队列 可能这方面答的不好 我说了之后面试官说为什么不用不行之类的话术 没有问太多底层的东西 也问了ai的工具 
总体都是很基础的八股 整体不难 还得练 第二天发感谢信 我觉得没过的原因是很多知识停留在原地而不是业务层面 知识为了学而学 理解不够 可能答的很宽范 没有自己的理解#牛客AI配图神器#
全部评论
佬 考虑我司么 可看我主页帖子
点赞 回复 分享
发布于 04-10 11:18 上海

相关推荐

头像
04-28 11:57
三峡大学 C++
T1 #include <bits/stdc++.h>using namespace std;#define int long longvoid solve(){int n,k;cin>>n>>k;vector<int> a(n+1);for(int i=1;i<=n;i++)cin>>a[i];sort(a.begin(),a.end());int r2=n+1,r1=n+1;int ans=0;for(int i=1;i<=n;i++){r1--;ans+=a[r1];if(i%k==0){r2--;ans+=a[r2];}cout<<ans<<" ";}cout<<endl;}signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T=1;cin>>T;while(T--)solve();return 0;}T2#include <bits/stdc++.h>using namespace std;#define int long longvoid solve(){int n;cin>>n;vector<int> a(n+2),b(n+2),c(n+2);for(int i=1;i<=n;i++){char c;cin>>c;if(c=='A')a[i]++;else b[i]++;a[i]+=a[i-1];b[i]+=b[i-1];}int ans=0;for(int i=n;i>=1;i--)c[i]=max(c[i+1],b[i]+a[n]-a[i]);for(int i=0;i<=n;i++){// cout<<a[i]+c[i+1]<<" ";ans=max(ans,a[i]+c[i+1]-b[i]);}cout<<n-ans<<endl;}signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T=1;cin>>T;while(T--)solve();return 0;}T3#include <bits/stdc++.h>using namespace std;int seg[800005];void build(int id,int l,int r,vector<int>& a){if(l==r){seg[id]=a[l];return;}int mid=(l+r)/2;build(id*2,l,mid,a);build(id*2+1,mid+1,r,a);seg[id]=__gcd(seg[id*2],seg[id*2+1]);}int find(int id,int l,int r,int q,int num){// cout<<l<<" "<<r<<" "<<seg[id]<<endl;if(r<=q){int g=__gcd(seg[id],num);// cout<<g<<endl;if(num==g)return -1;if(l==r)return l;int mid=(l+r)/2;int f=find(id*2+1,mid+1,r,q,num);// cout<<f<<endl;if(f!=-1)return f;return find(id*2,l,mid,q,num);}int mid=(l+r)/2;int f=-1;if(q>=mid+1)f=find(id*2+1,mid+1,r,q,num);if(f!=-1)return f;return find(id*2,l,mid,q,num);}void solve(){int n;cin>>n;vector<vector<int>> r(n+2),o(n+2);vector<int> a(n+1);for(int i=1;i<=n;i++)cin>>a[i];build(1,1,n,a);int cur=a[1];// cout<<find(1,1,5,3,4);for(int i=2;i<=n;i++){cur=__gcd(cur,a[i]);int q=i-1,g=a[i];vector<pair<int,int>> jl;// cout<<find(1,1,n,i-1,g)<<" ";// int cnt=0;while(g!=cur){int re=find(1,1,n,q,g);if(re==-1)break;g=__gcd(g,a[re]);// cout<<g<<" "<<cur<<" ";// cnt++;// if(cnt==100)break;jl.push_back({re,g});}// cout<<cnt<<" ";// cout<<endl;jl.push_back({0,1});for(int j=0;j<jl.size()-1;j++){o[jl[j].first].push_back(a[i]-jl[j].second);r[jl[j+1].first+1].push_back(a[i]-jl[j].second);// cout<<jl[j+1].first+1<<" "<<jl[j].first<<" "<<a[i]-jl[j].second<<endl;}}map<int,int> mp;long long ans=0;for(int i=1;i<n;i++){for(auto num:r[i]){mp[num]++;// cout<<num<<" ";}// cout<<endl;ans+=mp[a[i]];for(auto num:o[i]){mp[num]--;// cout<<num<<" ";}// cout<<endl;}cout<<ans<<endl;}signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T=1;cin>>T;while(T--)solve();return 0;}
米哈游笔试
点赞 评论 收藏
分享
评论
2
13
分享

创作者周榜

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