数据库
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