富途 后端c++一面

总体时间1h多几分钟

面试官人感觉挺不错的,全程语气都挺温和,不会为难


手撕 消除相邻字符串

简单问了点项目


问动态库

怎么找到动态库

找不到动态库怎么办

makefile

两个动态库有同样的函数,调用的是哪一个动态库的(感觉是编译链接的顺序,但是怕不懂装懂还是说了不知道)


问HTTP和TCP的区别

那HTTP发送的是什么

HTTP报文有什么内容(忘了)


问哈希表(不太了解)

哈希表怎么实现的

为什么用哈希表不用链表和数组

哈希表快还是数组快,为什么


应该还有一些其他的,想不起来了


问如果让你转语言,比如c++换到go,该怎么学习

问有什么比较倾向的技术发展方向

问项目里有遇到什么困难吗,怎么解决的


最后反问


场景一:

class A{

A() {func();}

virtual func();

virtual test(){

func();

}

};

class B: public A{

B() {

func();

}

virtual func();

};

main() {

B b;

b.test();

A* a = &b;

a->test();

}

问b对象调用的是父类的func还是子类的func

问b.test调用的是父类的func还是子类的func

问a->test调用的是父类的func还是子类的func


场景二:

如A类多继承B类、C类,实例化A对象,赋值给B、C指针,A、B、C地址数值上有什么区别?

class B {

virtual void funcB(){};

};

class C {

virtual void funcC(){};

}

class A : public B, public C {

virtual void funcB(){};

virtual void funcC(){};

};

void func() {

A* a = new A();

B* b = a;

C* c = a;

}

A、B、C地址数值上有什么区别?

不知道,然后面试官解释了一下,因为A先继承B再C,所以a,b的地址是一样的,c的地址在b那段空间之后


场景三:

事务隔离级别

SELECT a FROM tbl1 WHERE id = 1; a = 1000

事务1

BEGIN;

UPDATE tbl1 SET a = a + 200 WHERE id = 1;

COMMIT;

事务2

BEGIN;

SELECT a FROM tbl1 WHERE id = 1;

......

SELECT a FROM tbl1 WHERE id = 1;

COMMIT;

采用不同隔离级别有什么区别?

四个隔离级别下的区别说一下,这个还好

全部评论
HTTP报文有什么内容(忘了)这个我也遇到了hhh
点赞 回复 分享
发布于 2023-09-26 17:56 黑龙江
约二面吗老哥
点赞 回复 分享
发布于 2023-09-28 14:37 上海
老哥 你这个场景题是腾讯会议写的吗
点赞 回复 分享
发布于 2023-10-01 20:36 广东

相关推荐

勤劳的香菇求被捞求offer:满帮笔试都不给我发 似乎被卡本了
投递满帮集团等公司10个岗位
点赞 评论 收藏
分享
6 23 评论
分享
牛客网
牛客企业服务