盈养科技二面
盈养科技二面
-
自我介绍
-
目前的打算? 就业
-
算法怎么样?
-
判断链表是否有环,两种方法(快慢指针,哈希表)
-
C++的多态是怎么样的?
-
动态多态是如何实现的? 基类继承类
-
数据库的索引?
-
索引失效有哪些?
-
项目
-
你的mybash的ls命令是如何实现的
答:忘记了,当时是照着文档敲的
-
实现HTTP,并显示页面(二选一)
-
多线程打印ABC,请你现场写,我说了一下思路。(二选一)
现场给画了一下图:
具体的代码是面试官给的
#include <iostream>
#include <thread>
#include <mutex>
#include <condition_variable>
std::mutex mtx;
std::condition_variable cv;
int current_thread = 1; // 当前需要执行的线程编号
void print_thread(int thread_id, const std::string& message) {
for (int i = 0; i < 5; ++i) { // 每个线程打印5次
std::unique_lock<std::mutex> lock(mtx);
cv.wait(lock, [&]() { return current_thread == thread_id; }); // 等待当前线程可以执行
std::cout << message << std::endl;
current_thread = thread_id % 3 + 1; // 切换到下一个线程(1 -> 2 -> 3)
cv.notify_all(); // 唤醒其他线程
}
}
int main() {
std::thread t1(print_thread, 1, "Thread 1");
std::thread t2(print_thread, 2, "Thread 2");
std::thread t3(print_thread, 3, "Thread 3");
t1.join();
t2.join();
t3.join();
return 0;
}
-
当时面试官故意在
return current_thread == thread_ids;
多加了一个s在后面,然后问我哪里有问题? -
我看编译器给我标红了,但是我认为可能没有那么简单吧。结果不会。挺可惜的
-
读了哪些书?
-
其实最近在读《雷军的传记》和《明朝那些事》,但我一想,是不是要和技术相关呀,然后就说自己最近在读关于网络的书,其实还是挺可惜的,读的这两本书还是有挺多东西想说的。问我为什么?其实想说字节面试问了网络问题答的不太好的...
-
面试官评价:
-
写博客挺好的,有学习的劲头, 但基础不扎实
-
实习生也其实不用要求那么高
-
对AI了解多少?
-
介绍了他们公司的AI
-
面试官是前手机百度创始人,好厉害!
-
多写代码