202210月巨杉数据库一面

感悟:

面试体验不是特别理想,在一些问题上,提问的方式不具有引导性而且全程黑脸,提前说了某个工具不是很了解,还是被反复问了...emmm是要咋怎。 尬聊了近乎50min谢了。

面完就感觉应该不用等了。

面试分为三部分

自我介绍

一、针对项目进行提问

  1. 项目是偏向算法的吗?
  2. 介绍一下C++多态
  3. i++与++i区别,效率上
  4. 介绍一下C++异常处理机制
  5. 为什么C有了错误码还有有C++的异常处理
  6. 学过数据结构吗?介绍一下数据结构与排序算法
  7. 介绍一下排序算法的时间复杂度
  8. 树有了解嘛?
  9. 在你的项目里用到了什么树
  10. 介绍一下B+树
  11. 在MySQL中B+是如何实现的
  12. 索引是如何使用的

走索引地效率一定比全表查找地效率高吗?

  1. 分析sql【索引定位的记录很多且需要回表,需要重排序】 【SELECT id,age,phone FROM t_account WHERE age = 25 ORDER BY name desc;】

如果排序的字段不存在于当前使用的索引和主键中,则需要去回表查询该字段,并且在server层根据该字段进行排序,所以效率更低,mysql选择了全表扫描来进行查询。

  1. 什么情况下要回表
  2. GDB调试有什么技巧
  3. 服务器项目那些地方用到了锁
  4. 任务队列中任务具体是什么?
  5. 是HTTP对象?
  6. 那是对一个数组上锁?(说错了,后来补充是链表形式)
  7. HTTP对象具体是有哪些构建地?
  8. 用到的是什么锁
  9. 怎么保证线程安全
  10. 如果不上锁会造成什么影响
  11. 如何检测服务器性能瓶颈有什么工具?

Linux有自带地工具,可以查看CPU使用情况,当前线程下处理的文件描述符数量,网络吞吐量情况

二、算法题:

公共前缀

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if (!strs.size()) {
            return "";
        }
        int length = strs[0].size();
        int count = strs.size();
        for (int i = 0; i < length; ++i) {
            char c = strs[0][i];
            for (int j = 1; j < count; ++j) {
                if (i == strs[j].size() || strs[j][i] != c) {
                    return strs[0].substr(0, i);
                }
            }
        }
        return strs[0];
    }
};

三、反问

部门负责数据的是哪一块的呢?

培养方式?

#巨衫数据库#
全部评论
过了吗
点赞 回复 分享
发布于 2022-11-30 23:30 广东

相关推荐

01-23 14:54
同济大学 Java
热爱敲代码的程序媛:给你提几点【专业技能】这个模块里面可优化的地方:1.【具备JVM调优经验】可以去b站上搜一下JVM调优的视频,估计一两个小时凭你的学习能力就能掌握JVM调优的实践方面的技能。2.【MySql优化】MySql这一栏,你去b站或者找个博客看看MySql优化,学一下,如果你本身比较熟悉MySql语句的话,那基本半天时间凭你的学习能力MySql语句优化方面的技能你也能掌握个差不多。以上1,2两点主要是因为我看你专业技能大部分都说的是偏理论,没有写应用。再就是最后,你结合你的项目,想一想你的项目中哪些sql语句是可以用MySql优化的,到时候你面试的时候也好结合着说一下。
点赞 评论 收藏
分享
人生一梦:24年我投暑期实习,它以我不是女的为理由拒绝了我查看图片
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客企业服务