2019-4-9刷题笔记

数据库

1 关系型数据库的四种约束

1 主键约束性

I,不允许Null值
II,一个表只能设置一个主键列(一遍将不能重复的列并且方便查询的列设为主键列)
III,一个表必须有一个列作为主键列
IV,不能重复(设置主键就是为了查询用)

2 外键约束

I,当前表的某一列被其它表的某一主键列/某一列所约束
II,当前表被约束的这一列里面的内容不允许超出约束它的列里面的内容
III,要作为主约束列来约束其它表的列,这一列必须是主键列/唯一列

3 唯一约束

设置一列为唯一列,让这一列的数据不能重复

4 Check约束()

编写表达式,来约束某一列其中的值得范围

Q
1 什么是关系型数据库 什么是非关系型数据库
2 外键约束是对列约束 怎么定义外表 外表的取值范围怎么确定 是不是外表加了新的 这列才可以加新的条目

广义表

广义表是0个或多个单因素或子表组成的有限序列
Q:什么是广义表

索引

索引应该根据具体的检索需求来创建,在选择性好的列上创建索引
索引并非越多越好
建立索引可加速查询
不能提高数据插入的性能

HIVE/HDFS

1 sort by 用于局部排序,order by 用于全局排序
(什么是局部排序)
2 HDFS 是基于流数据模式访问和处理超大文件的需求开发,默认的基本的存储单位是64M数据块,如果需要每个数据块可分布不同节点上,具有高可靠性,高可扩展性,高吞吐量等特性,其适合的任务是一次写入,多次读取

进程与线程

进程间的基本关系为:相互独立于相互制约。
对进程正确的是:多线程会引起死锁,而多进程不会引起死锁。(why)

会锁死的案例:lock(m1) lock(m2) unlock(m2) lock(m2) unlock(m1) unlock(m2) 两个锁对资源有保护域重叠就可能死锁。

进程地址空间(待看)
父进程和子进程、进程和线程(待看)

在Linux上,对于多进程,子进程继承了父进程的下列哪些?

共享内存,信号掩码,已打开的文件描述符

Q1 要在python上实践一下多线程的操作

时间片轮转调度算法

1 http://c.biancheng.net/view/1247.html
2 https://baike.baidu.com/item/时间片轮转调度算法/7170554?fr=aladdin
3 题目 https://www.nowcoder.com/questionTerminal/3a0a96170ea74353adc9fb547d062e12?orderByHotValue=1&page=1&onlyReference=false

数据结构与算法

1 各个算法的时间复杂度

Hash 插入操作的平均价时间复杂度为O(1),最坏复杂度为O(1)
红黑树插入操作的平均时间复杂度为0(log n),最坏时间复杂度为0(log n)
B+树插入操作的平均时间复杂度为0(log n),最坏时间复杂度为0(log n)
排序链表插入操作的平均时间复杂度为0(n),最坏时间复杂度为0(n)

2 快速排序

(45,80,55,40,42,85) 关键词为45 排序
42-40-45-55-80-85
(why)

3 在文件"局部有序"或文件长度较小的情况下,最佳内部排序的方法是

A: 直接插入排序
(冒泡排序,简单选择排序,快速排序)

4 图相关知识

关键路径,最短路径,广度优先历编

5 比较次数与初始序列无关的排序方法有哪些

选择排序
有关:shell排序,快速排序,堆排序

B-和B+树的叙述中,正确的是

B-树和B+树都是平衡的多叉树
B-树和B+树都可用于文件的索引结构
B-树和B+树都能有效地支持随机检索

霍夫曼编码

对一个由A,B,C,D随机组成的序列进行哈弗曼编码,据统计,各个元素的概率分别为:P(A)=0.4,P(B)=0.35,P©=0.2,P(D)=0.05,请问该编码的平均期望编码长度为()bits?

A: 10.4+20.35+30.2+40.05=1.75

java

1 sleep 和 wait

wait()方法属于Object类,sleep()属于Thread类。
调用wait()方法的时候,线程会放弃对象锁。
调用sleep()方法的过程中,线程不会释放对象锁。

下面哪个行为被打断不会导致InterruptedException:Thread.suspend

wait()是Object类的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放对象的机锁。 sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。 因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了sleep() 方法,线程虽然进入休眠,但是对象的机锁没有被释放,其他线程依然无法访问这个对象。

计算机网络

CSMA/CD 协议

1 边发送数据帧,边检测是否发生冲突
2 需要根据网络跨距和数据传输速率限定最小帧长
3 当信号传播延迟趋近 0 时,信道利用率趋近 100%

交换机

以太网交换机本质上是一种多端口网桥

C++

&&和|| 都是短路运算 前面符合后面就不运行

64位机上,一个结构体有三个成员,分别是char、int、short类型,三个成员位于结构体中不同位置时整个结构体的大小可能是下面哪些值?

12,8
计算结构体大小:
1)每个成员偏移量都必须是该成员字节数的倍数;
2)结构体的大小必须是该结构体中字节数最大成员字节数的倍数。

本题中 三种数据类型对应 1 2 4;
4 + 2 + 2, 为 8 ,int char short 或者 int short char
4 + 4 + 2,为10 ,char int short 不符合第二条,补充为12,
2 + 2 +4 为8 ,char short int 或者 short char int
4 + 4 + 1 为9 short int char 不符合第二条,补充为12

题源:蘑菇街2019届实习生-数据仓库开发工程师笔试试题
s:39 8/32

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Labuladong"是一个著名的算法题解博主,他的刷题笔记非常受欢迎。他的笔记具有以下几个特点: 1. 思路清晰:Labuladong的刷题笔记总是能够很清晰地阐述解题思路。他善于将复杂的问题简化为易于理解的小问题,并通过逐步引入关键概念和方法,帮助读者理解并掌握解题思路。 2. 逻辑严谨:Labuladong的刷题笔记经过深思熟虑,逻辑严谨。他从问题的定义开始,逐步引入相关的概念和解题思路,循序渐进地解决问题。这种严谨的逻辑结构有助于读者理解和消化算法的核心思想。 3. 举例详细:Labuladong的刷题笔记通常通过具体的例子来说明解题思路。这种举例的方式不仅能够帮助读者更好地理解解题方法,还可以帮助读者更好地应用这些方法解决其他类似的问题。 4. 知识点整合:Labuladong的刷题笔记不仅仅是一个题解,而是将相关的算法知识点整合起来,构建出一个完整的学习体系。他引入一些底层的算法原理,将不同的解题方法进行比较和总结。这种整合的方式能够帮助读者更好地理解和掌握算法的本质。 总之,Labuladong的刷题笔记以其思路清晰、逻辑严谨、举例详细和知识点整合等特点,为广大读者提供了一种深入学习和理解算法的有效途径。通过阅读他的刷题笔记并进行实践,读者能够提高解题能力,并在面对各种算法问题时能够找到正确、高效的解决方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值