5.10 百度女公关璩静,发短视频弄丢千万年薪工作。。
- 作者
- Name
- 青玉白露
- Github
- @white0dew
- Modified on
- Reading time
- 4 分钟
阅读:.. 评论:..
大家好,我是白露啊。
百度前第一女公关璩静火了,然后被火速离职。
看看她的简历,还是前华为副总裁,真的厉害。
她以“霸道女总裁”的形象在短视频平台亮相,发了几条短视频,然后引发了一场公关界的“大海啸”(🌊🌊🌊)。璩静在短视频里一系列言论很有意思。比如:
- “员工闹分手提离职我秒批”
- “职场新人不要买单”
- “谁能出差我就给谁涨薪”,
直接让广大打工人的集体破防。
虽然,在现实里,你这么做,并且有很多公司高管也是这么做的。
但是你堂而皇之的说出来,是不是有点过分了?
但是白露还是得说一句,职场就是这么残酷。
公司辞退就一句话的事情,你看璩静千万年薪,照样分分钟离职。
这波可以说是把百度搞懵,股价跌了50亿。。。
作为普通的打工人,我们还是来看看百度面试都会问些什么吧。
百度面经
非战斗人员请滑到最后面的内容
面试官: 你好,让我们开始今天的面试。首先,请谈谈你对IO多路复用的理解。
求职者: IO多路复用是一种有效的IO处理方式,它可以使单个线程监视多个文件描述符,一旦某个文件描述符就绪(例如,读操作不会阻塞),就能够通知程序进行相应的读写操作。
这种机制可以提高应用程序效率,因为它减少了不必要的等待,特别是在处理大量并发连接时。在Linux中,常见的IO多路复用技术包括select
、poll
和epoll
。
面试官: 那么,Redis在处理返回值时是怎么做的?
求职者: 当使用IO多路复用时,Redis服务器会将返回值放入一个输出缓冲区中。当文件描述符可写时,Redis会将这些数据写回到客户端。如果数据不能一次性完全写入,剩余的数据会保留在输出缓冲区中,等待下一次文件描述符变为可写时再次尝试。
面试官: MySQL中的B+树索引一般有几层,这是怎么算的?
求职者: MySQL中B+树的层数依赖于表的大小和数据库页的大小。通常情况下,B+树的高度在2到4层之间。层数的计算可以通过估算每个节点能存储多少键值对,然后根据总的键值对数量计算出树的高度。
面试官: 能否解释数据库的隔离级别,以及脏读、不可重复读和幻读?
求职者: 数据库的隔离级别定义了一个事务所做的修改是否和其他事务隔离。有四个隔离级别:读未提交、读已提交、可重复读和串行化。
- 脏读是指一个事务读取了另一个事务未提交的数据。
- 不可重复读是指在一个事务内,多次读取同一数据集合时,由于其他事务的提交而导致两次读取的数据不一致。
- 幻读是指当事务不是独立执行时发生的一种现象,即事务读取了一范围数据后,另一个事务又在该范围内插入了新行。
面试官: MySQL的隔离级别是如何实现的?谈谈MVCC。
求职者: MySQL主要通过锁和多版本并发控制(MVCC)来实现不同的隔离级别。对于读已提交和可重复读两个级别,MVCC是主要的实现机制。MVCC通过保存数据的多个版本来允许多个读取者和一个写入者同时操作同一个数据,而不会互相阻塞。
面试官: 那redo log和undo log是什么?刷脏页的流程是怎样的?
求职者: Redo log用于确保事务的持久性,它记录了事务所做的修改,以便在系统崩溃时重做这些操作。Undo log则用于实现事务的原子性,它记录了事务执行前的数据状态,以便在事务回滚时撤销已经执行的操作。
刷脏页的过程是指将修改过的数据(脏页)从内存刷新到磁盘。这通常在事务提交时发生,以及后台线程定期执行时发生,以确保数据的持久性。
面试官: 最后,我们来看一个算法题。你能写出求解平方根的算法吗?
求职者: 当然可以。求解平方根可以使用二分查找或牛顿迭代法。这里我给出一个使用二分查找的简单实现:
public int sqrt(int x) { if (x <= 1) { return x; } int left = 1, right = x; while (left <= right) { int mid = left + (right - left) / 2; if (mid == x / mid) { return mid; } else if (mid < x / mid) { left = mid + 1; } else { right = mid - 1; } } return right; }
这个函数用于计算非负整数x的平方根的整数部分。我们从1到x之间使用二分查找,找到最大的整数使得其平方小于或等于x。