中望软件技术面

1、前四五个问题基于实习和项目,顺便问了八股,线程池,com 组件中的接口和 guid,空间索引和第三方库的使用
2、智能指针
3、动态扩容
4、虚函数底层
5、自己实现智能指针类
6、b 树和 r 树的区别
7、postgresql 和 mysql 区别
8、口撕算法:找到一组数据中前 k 个大的数(用了二叉堆和优先级队列,他说在想一个时间复杂度低的,又说了随机选取一个数作为对照,找到各自两边数目等于 k 的序列就行,不考虑具体的顺序,模糊求解前 k 个值)#中望软件##C++#
全部评论
他家都开了 还有面试啊😢
点赞 回复 分享
发布于 2023-10-20 19:41 湖北

相关推荐

11-04 18:02
已编辑
门头沟学院 Java
一笑而过2222:一、Redis 数据类型 1. 字符串(string):可以存储任何类型的字符串,如文本、数字等。可以进行自增自减等操作。 2. 哈希(hash):类似于 Python 的字典,存储键值对集合。适合存储对象信息。 3. 列表(list):按照插入顺序排序的字符串元素集合。可以进行从两端的插入和弹出操作。 4. 集合(set):无序的、不重复的字符串元素集合。支持交集、并集、差集等操作。 5. 有序集合(sorted set):每个元素都关联一个分数,可以按照分数进行排序。常用于排行榜等场景。 二、Redis 跳表 Redis 的有序集合(sorted set)是通过跳表实现的。跳表是一种可以替代平衡树的数据结构,具有以下特点: 1. 插入、删除、查找操作的时间复杂度均为 O(log n),与平衡树相当。 2. 实现相对简单,比起平衡树更易于理解和实现。 3. 可以在不同层次进行快速的遍历和查找,提高了查找效率。 三、抽象类和接口类区别 1. 定义: - 抽象类是用 abstract 关键字修饰的类,可以包含抽象方法和具体方法。 - 接口是用 interface 关键字定义的,只包含抽象方法和常量。 2. 继承: - 类只能单继承抽象类,但可以实现多个接口。 3. 方法实现: - 抽象类可以有部分方法的具体实现,子类可以继承这些实现或者重写它们。 - 接口中的方法都是抽象的,实现接口的类必须实现所有的方法。 4. 变量: - 抽象类可以包含成员变量,既可以是普通变量也可以是静态变量。 - 接口中只能定义静态常量。 四、重载和重写,子类能否对父类重载重写 1. 重载(Overload):是在同一个类中,方法名相同,但参数列表不同(参数类型、参数个数、参数顺序不同)。子类不能对父类进行重载,因为重载是在同一个类中的概念。 2. 重写(Override):子类继承父类,子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型,并且子类方法的访问权限不能小于父类方法的访问权限。子类可以对父类进行重写。
查看30道真题和解析
点赞 评论 收藏
分享
1 10 评论
分享
牛客网
牛客企业服务