Jinqq's Home

证明自己

考点

  1. 聚类的定义,方法,k-means算法步骤,方法论的分类。k-means步骤,优缺点。比如迭代3次之后的结果。评价聚类算法的好坏,角度有哪些。

  2. em算法:概念,适用场景(可以扩展,混合高斯等),em的实现,计算,jensen不等式,如何计算。计算:高斯分布混合而成。em优缺点,其他应用。

  3. 分类:决策树,knn,贝叶斯,基本的分类的算法。分类的定义,现实世界的应用场景(垃圾邮件识别等)。训练和验证测试集的划分,要完成哪些条件。常见的分类器。贝叶斯公式的形式,计算。决策树,id3,c4.5克服了缺点(简答题)

  4. gamma:知道gamma函数的形式,在实数域的特征,阶乘。要看一下性质(递推式),如何证明性质。gamma函数积分的形式,阶乘实现。

  5. beta分布:最基本的表现(4个分布),看到特征、数学表达式,符号的含义是什么(简答题)。会计算题。beta分布在前四种之上构造的,看到特征characteristics,稍微了解一下表达,也有计算题。每个分布数学公式,均值方差,图形表达,应用,例题等等。

  6. nlp:不用管工具使用。传统nlp的任务是什么。做分词,特征构建等。可用特征(词频,共线频率等)。稍微看一下分词。什么事停用词。命名实体识别。其他处理过程(词根化等)。马尔科夫链,看一下转移矩阵的概率,计算。n-gram应用。word vector如何构建,给你一个句子,写出来对应的向量。tf-idf不用太多记,如何根据它构建主题模型。词项-文档矩阵,给一个文档,算出来tf-idf,得到矩阵。了解信息熵概念,什么是最大熵。·

阅读全文 »

一 简答题(共12题,每题5分,共60分)

1. 解释C++内存管理的机制,并说明栈、堆、静态存储区的区别。

答:C++中的内存管理分为栈、堆和静态存储区: 栈用于存储局部变量,由编译器自动分配和释放,生命周期短,访问快;堆用于动态分配内存,由程序员手动管理,适合大块数据,生命周期由程序控制;静态存储区存储全局变量和静态变量,整个程序生命周期内有效,访问速度与栈相当。

2. 简要解释指针和数组的关系,并说明如何通过指针操作数组元素。

答:数组名相当于指向其首元素的指针。通过指针偏移可以访问数组元素,使用*(指针+偏移量)解引用操作具体的元素。

3. 虚函数是如何支持多态性的?虚函数被调用时,如何确保正确的函数被调用?

答:虚函数通过动态绑定支持多态性。当基类指针或引用指向派生类对象时,调用虚函数时由虚函数表和虚表指针机制决定具体调用哪个函数。每个类有一个虚函数表,记录函数地址,派生类会覆盖基类的对应入口。调用虚函数时,通过对象的虚表指针定位到正确的函数地址,确保调用派生类的实现。

阅读全文 »

复习建议

  • 开卷考试,建议携带材料:

    • 数据仓库白皮书(数据仓库与数据挖掘) + 黑皮书 (数据挖掘:概念与技术),可能会考一些往年没有的题,这个时候翻书就很有用了;
    • 往年卷题型解答(最好是你自己写的过程);
    • 对数表、分数表、信息熵计算表;
  • 题型与往年题相同,数据会变,因此推荐面向往年题复习。

    • 一道数据仓库 + 一道关联 + 一道数据预处理与分类 + 一道聚类;
    • 复习时建议动笔计算,只有动手了才更好理解如何计算;
    • 一定要使用题目要求的算法;
阅读全文 »

写在前面

本篇复习参考了多个来源,因此可能会在一些细节上出现相互矛盾的地方,这时候需要多多思考和理解。

策略模式 Strategy Pattern

image-20241227154520757

image-20241223153121545

策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

image-20241227154630105

阅读全文 »

一、山在那儿

  “我今天一定要搞清楚你这个怪癖:为什么从不上岸?”船长对冯帆说,“五年了,我都记不清蓝水号停泊过多少个国家的多少个港口了,可你从没上过岸。如果蓝水号退役了,你是不是也打算像电影的主人公那样随它沉下去?”

  “我会换条船,海洋考察船总是欢迎我这种不上岸的地质工程师的。”

  “是陆地上有什么东西让你害怕吧?”

  “相反,陆地上有东西让我向往。”

  “什么东西?”

  “山。”

阅读全文 »

HashMap详解

一 映射

1. hash

在取模运算之前,先将hashcode进行一次hash。该函数的作用是通过异或将hashcode的高位和低位混合,使得低位的随机性增大,让数据元素更加均衡的分布,减少碰撞

1
2
3
4
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}
2. 取模

然后进行取模:hash & (length - 1)

为什么是 & ?: 当length是2的n次方时,hash % length 等于 hash & (length - 1)。

二 扩容机制

实验要求

操作实验:熊猫烧香病毒分析。实验内容如下。

  1. 基于虚拟机软件及其快照功能,搭建一个恶意代码分析实验环境。
  2. 分析熊猫烧香病毒的程序结构和入侵过程。

实验过程

一 搭建恶意代码分析实验环境

测试环境:VMWare WorkStation + Windowx XP Home Edition

  1. 通过共享文件夹,将病毒样本zip和所需工具上传到windows xp中,然后禁用共享文件夹。

  2. 关闭虚拟机的网络,防止病毒通过网络传播:

image-20241220150624994
阅读全文 »

实验要求

下载Crackme程序,综合运用0lyDbg、IDA 和UltraEdit 等工具进行注册登录功能的破解。完成实验报告,

实验过程

破解目标选择 crakeme001:Acid burn

实验环境为 windows 11.

一 体验 Acid burn

打开Acid burn,体验如何使用:

image-20241218194522553

Serial/Name界面,输入一个用户名,尝试输入几个序列号,都返回Try Aagin:

阅读全文 »

数据管理基础 期末复习

第二章 关系数据库

1. 关系代数

五种基本关系代数运算:并、差、笛卡尔积、选择、投影。

第三章 SQL

1. 视图

解释:

由一个或几个基本表(或视图)导出的表,是一个虚表。数据库只存放视图的定义,而不存放视图对应的数据。

视图的作用:

  • 简化用户的操作
  • 使用户能以多种角度看待同一数据,适应了数据库共享的需要
  • 对重构数据库提供了一定程度的逻辑独立性
  • 对机密数据提供安全保护
  • 适当的利用视图可以更清晰地表达查询
阅读全文 »
0%