记录一下春招携程时间线:
bg:单2硕
3.13 笔试+AI面
整体上中规中矩,只有第4题有些难度,最后3.52/4,进入一面。
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int gcd(int a,int b) {
return b?gcd(b,a%b):a;
}
int n,a[N],ans;
int h[N],e[2*N],ne[2*N],idx;
bool st[N];
set<set<int> > S;
void dfs(int u,int fa,int curgcd,set<int>& se) {
if(curgcd%2==0 && !S.count(se)) {
ans++;
S.insert(se);
// for(auto x:se) cout<<x<<" ";
// puts("");
}
for(int i=h[u];~i;i=ne[i]) {
int j=e[i];
if(j!=fa) {
int tt=gcd(curgcd,a[j]);
if(tt%2) continue;
auto ST=se;
ST.insert(j);
dfs(j,u,tt,ST);
}
}
}
void add(int a,int b) {
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int main() {
memset(h,-1,sizeof(h));
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i];
}
int aa,b;
for(int i=0;i<n-1;i++) {
cin>>aa>>b;
add(aa,b);
add(b,aa);
}
for(int i=1;i<=n;i++) {
set<int> se;
se.insert(i);
dfs(i,-1,a[i],se);
}
cout<<ans;
return 0;
}
3.20 一面(45min)
八股盛宴
Springboot(常用的注解、Bean的生命周期)
设计模式(项目开发中常用的几种设计模式、单例模式在Springboot中的应用)
高并发(创建线程的几种方式、线程池参数、valitile和sychronized底层原理)
JVM(常见的垃圾回收器、类加载过程、三色标记法是干什么的)
Redis(分布式redis、常用redis数据结构)
MySQL(什么是主从复制、mysql的几种日志、是先写日志还是先写入数据、为什么这么设计写入顺序)
场景(防止出现超卖、数据量大怎么分库分表)
手撕: 层序遍历
3.28 二面(50min)
实习内容+场景为主
实习项目的并发量、怎么进行流量监测。
怎么通过docker部署具体项目,docker-file的编写内容。
数据卷持久化怎么做的。
HNSW检索算法结构(和跳表进行对比)。
无手撕
4.3 hr面+英语评测
4.8 发放offer