广联达 8.31笔试 10.15面试 11.2hr面
//1. accelerated atomic
//time complexity O(n)
//space complexity O(n)
int solution(vector<int>& emit, vector<int>& receive){
int n=emit.size();
//flags[i] = 1 means that the atomic i is accelerated
vector<uint8_t> flags(n+1,0);
int i=0,j=0;
int accelerated=0;
while(j<n){
if(flags[emit[i]]){
++i;
}
else if(emit[i]==receive[j]){
++i;
++j;
}
else{
flags[receive[j]]=1;
++accelerated;
++j;
}
}
return accelerated;
}
//2.maximum passenegers
//time complexity O(nlogn)
//space complexity O(logn)//quick sort
int solution(vector<vector<int>> & intervals){
sort(intervals.begin(), intervals.end());
int end=intervals[0][0]+intervals[0][2]-1;//the maximum indexed seat where people can sit
int result=intervals[0][2];
int n=intervals.size();
for(int i=1;i<n;i++){
auto & temp=intervals[i];//current intervals {l,r,x}
//1.left_next > end
if(temp[0]>end){
//let people sit on the space between intervals
result+=(temp[0]>intervals[i-1][1])?(temp[0]-intervals[i-1][1]-1):0;
result+=temp[2];
end=temp[0]+temp[2]-1;
}
//if left_next <=end
else{
int end_next=max(min(temp[1],end+temp[2]),end);
result+=end_next-end;
end=end_next;
}
}
return result;
}
笔试的时候都没有ac 回过头来想了想写出来。。。。 就当留个纪念, 还请大佬们指点
10.11 时隔一个多月 收到了面试通知,一眼kpi
10.15 一面
自我介绍
为什么有设计模式
设计模式的原则
面向对象是什么
我们怎么为程序进行架构设计
了解多线程编程吗?讲一下多线程编程的注意事项
为什么多线程要比单线程好,要求举例子细说
线程见同步的机制
mysql的事务,以及实现原理
自己的兴趣爱好
自己的缺点是什么
读过什么书吗
什么事uml(我只知道uml类图)
了解过qt吗(没了解过。。。)
反问:
1,培训体系
2,主要语言
笔试没答好,大概率kpi
hr面常规问题
11.4 收到offer邮件 白菜。
#广联达##笔试##笔试挂了#
查看19道真题和解析
