LAZADA 客户端

#Timeline

  • 4.27 Submit
  • 5.6 Coding Test
  • 5.10 Technical Interview 1
  • 5.13 Technical Interview 2

#Coding Test

三题,每题100分,200/300

#Technical Interview 1

我的第一场技术面试,面试官很好讲话。即使有很多问题没有回答出来,但是还是能感受到他的和蔼。无手撕代码,有智力题,或者说数学题。

#Question

  1. 自我介绍
  2. 一下结构体占用的内存大小是多少
1
2
3
4
5
struct SA {
  char a;
  int b;
  char c;
};

这里要考虑内存对齐,中间int占用4Bytes,所以两个char对齐,总共占用12Bytes。

  1. 跟声明顺序有没有关系

    这里我直接肯定的说没有,但是其实有。🤣

  2. 使用pack优化结构体得到的结果会一样吗

    这里我没有用过pack,我还问pack是C++的吗🤣

  3. 以下代码会得到什么

1
2
3
4
5
6
int a = INT_MAX;
a++;
cout << a << endl;
unsigned int b = 0;
b--;
cout << b << endl;
  1. 我对你的两个项目都挺感兴趣的,介绍一下操作系统的wait系统调用是怎么实现的

  2. 一个页表的大小是多少

    问到这里已经汗流浃背了,因为操作系统是两年前做的一个项目,没有好好去看,基本都是一问三不知,我说我操作系统真的记不得了,面试官还笑笑说没关系,那我们问上面这个网络项目。这要是搁别的公司特别是腾讯可能直接就挂掉了。

  3. 缺页了会怎么办

  4. 共享内存是怎么实现的

  5. 一个C++程序是怎么运行起来的

  6. C++程序的内存分区

    这里回答了个BSS区,不是很确定的

  7. BSS区是放什么东西的

    不知道🤣

  8. 代码为什么会崩溃

  9. 怎么捕获崩溃

  10. try catch为什么就能捕获

  11. 进程和线程的关系

  12. 创建线程有哪些方式

  13. 有了Pthread为什么还要有OpenMP

  14. 他们的区别是什么

  15. pthread怎么创建一个线程,在共享代码空间写一下

  16. 粘包是什么情况

  17. tcp如何做到流量控制

  18. 怎么实现的单例模式,写一下

  19. lock_guard为什么会自己释放锁

  20. shared_ptr怎么知道自己什么时候要释放空间

  21. 线程池怎么实现的

  22. 如果10个任务5个线程,另外5个要怎么办

  23. 智力题:牧场上有一片青草,每天都生长得一样快。这片青草供给10头牛吃,可以吃22天,或者供给16头牛吃,可以吃10天,期间一直有草生长。如果供给25头牛吃,可以吃多少天?

  24. 如何找出第k大的元素

    我说用堆

  25. priority_queue怎么实现的

  26. 一个数组怎么构建成一个堆

#反问

  1. 如何转正以及转正率是多少

  2. 我是第一次面试,能对我的面试表现做个评价吗?

    评价是很腼腆,我觉得是我太菜不好说我的技术问题。

晚上HR打电话约明天15:00二面,改时间到后天15:00

#Technical Interview 2

不想要,没问技术,但面试官人还行。不像腾讯,打工牛马还真把自己当个人物。

updatedupdated2025-03-032025-03-03