总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!
{
if(this != &s)
{
char* pstr = new char[strlen(s._str)+1];
strcpy(pstr,s._str);
delete[] _str;
_str = pstr;
}
return *this;
}
~string()
{
if(_str)
{
delete[] _str;
_str = nullptr;
}
}
private:
char* _str;
}
2.vector
是可变大小的数组
template
class vector
{
private:
iterator _start;
iterator _finish;
iterator _endofstorage;
public:
typedef T* iterator;
typedef const T* const_iterator;
iterator begin(){return _begin;}
iterator end(){return _finish;}
const_iterator cbegin()const{return _begin};
const_iterator cend()const{return _finish;}
vector()
:_start(nullptr)
,_finish(nullptr)
,endofstorage(nullptr)
{}
vector(int n,const T& value = T())
:_start(nullptr)
,_finish(nullptr)
,endofstorage(nullptr)
{
reserve(n);
while(n–)
{
push_back(value);
}
}
vector(iterator first,iterator last)
{
reserve(last - first);
while(first != last)
{
push_back(*first);
++first;
}
}
vector(const vector& v)
:_start(nullptr)
,_finish(nullptr)
,endofstorage(nullptr)
{
reserve(v.capacity());
iterator it = begin();
const_iterator vit = v.cbegin();
while(vit != v.cend())
{
*it++ = *vit++;
}
}
vector& operator=(vectorv)
{
swap(v);
return *this;
}
~vector()
{
delete[] _start;
_start = _finish = _endofstrage;
}
size_t size()const{return _finish - _start;}
size_t capacity()const{return _endofstrage - _start;}
bool empty()const{return _first = _finish;}
void reserve(size_t n)
{
if(n>capacity())
{
}
}
};
3.list
底层是双向链表结构
Kafka进阶篇知识点
Kafka高级篇知识点
44个Kafka知识点(基础+进阶+高级)解析如下
由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**
afka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**