2022-09-17-度小满后端三面38min
没自我介绍,面的语言是啥,有跟你说具体面哪个部门的吗?
cpp,没有
第一个问题,引用和指针的区别,什么时候用引用什么时候用指针?
怎么查看内存、磁盘、网络连接数?
我说 ps -a | grep TCP,他当场特意要我发过去为我测了下,
我说有没有,他说没有。
没学过网络吗?
本科上过计网
不记得没关系,读研后来也没做了忘了正常
想做算法还是写代码做底层实现金融业务工程开发
os、算法、xx 熟悉哪块?
算法数据结构吧
挑一个说说看
......x几分钟
写点编程吧
随便挑一个数据结果实现,hashmap、队列、栈、链表、......都行
实现个队列吧
......
写好了(初始没扩容,当时也正在思考),代码也没要解释
你这个怎么扩容
......
那你尝试写一下吧
......
写了良久,说时间差不多了,你代码我也看了,(表示怀疑,在写原地扩容第二个版本了,却只字未提)
(故意不急不慢写到来催结束的,知道写不完,等对方先开口)
最后再问一个问题,你应该可以进各大厂,我这算不上大厂,对于最终意向怎么考虑,
template<class T>
class Queue{
private:
T* a;
int32_t size;
int32_t capacity;
int32_t first;
int32_t end;
public:
Queue(int32_t cap){
size=0;
capacity=cap+1;
a=new T[cap];
first=0;
end=0;
}
bool push(T t){
if(size==capacity-1)
return false;
a[end]=t;
end = (end+1)%capacity;
size++;
return true;
}
T* front(){
if(size==0)
return NULL;
return &a[first];
}
T* pop_front(){
if(size==0)
return NULL;
T* front_ptr = &a[first];
first = (first+1)%capacity;
size--;
return front_ptr;
}
bool resize(int32_t cap){
if(cap<size)
return false;
cap++;
T* b = new T[cap];
int32_t bi=0;
while(first!=end){
b[bi]=a[first];
first=(first+1)%capacity;
}
first=0;
end=size;
delete a;
a=b;
b=NULL;
return true;
// v2
realloc(a,sizeof(T)*cap);
if(cap>capacity&&first>end){ // first<=end 时不需要调整
int tailn = cap-capacity;
int begini = capacity;
}else if(cap<capacity){ // 容量减少
if(first>=end){
}else{
}
}
return true;
}
~Queue(){
if(a){
delete a;
a=NULL;
}
}
};#度小满校招##度小满##面试##23届秋招##23届秋招笔面经#
查看6道真题和解析