相关连接:【计算机视觉算法岗面经】“吐血”整理:2019秋招面经html
//2018/09/27python
兵荒马乱、浩浩荡荡的秋招终于差很少要结束了。mysql
秋招这段时间真是感慨不少,一时得意一时失意,还要平衡一不当心就来的心理落差。git
先写点废话吧,毕竟最近感觉挺多的,在本身的博客里也不用顾忌措辞。强行给本身灌一波鸡汤~github
一、努力永远和收获成正比,即便这个比率很小。一直以为本身没有特别的天赋,只能一点一点努力,而这点努力还常常被“比你优秀的人比你更努力”所击溃。但这又怎样呢,不努力连如今的本身都超越不了。我的以为“比上不足”比“比下有余”更有份量。web
二、向优秀的人看齐。忘记在哪看的一句话了,“当你超过别人一点点时,他们会嫉妒你,当你超过别人一大截时,他们只会羡慕你”,是啊,由于换位思考放在本身身上也是这样,我会嫉妒何恺明,嫉妒陆奇吗,很明显不会,我只会仰望。仍是要脚踏实地啊。面试
三、对于秋招,运气真的蛮重要。由于你不知道恰好哪次就是你的人生际遇。但运气也是实力的一部分,若不是以前的厚积薄发,若不是勇于尝试,又哪里有这些机会呢。因此要不要海投呢?看你的精力是否支撑这些,看你想获得什么。算法
好了,下面整理面经。主要是本身整理的一些常常被问到的问题,而后搜集的一些资料(附了不少连接,若是侵权请告知删除),主要分为几大模块:HR面、深度学习、机器学习、图像处理、数学、计算机基础、C++、Python等。看整理的面经长度就知道哪一个模块常常被问到了。sql
再说下面试基本会问的内容,目前我的所碰到的,占比可能有所不一样,有些面试官喜欢问项目,有些喜欢问基础。docker
http://www.noobyard.com/article/p-gzemvosu-qa.html
http://www.noobyard.com/article/p-gzemvosu-qa.html
https://blog.csdn.net/u014380165/article/details/71667916
ROI Pooling
https://blog.csdn.net/lanran2/article/details/60143861
http://www.noobyard.com/article/p-swappaly-bt.html
https://www.zhihu.com/question/68482809/answer/264070398
https://zhuanlan.zhihu.com/p/31547842
http://www.noobyard.com/article/p-nzfbxtef-km.html
- triple loss
- center loss:
http://www.noobyard.com/article/p-phfgvcxy-hq.html
https://blog.csdn.net/u014380165/article/details/76946339
https://blog.csdn.net/LIYUAN123ZHOUHUI/article/details/77100650?locationNum=7&fps=1
http://www.noobyard.com/article/p-gxuqgeqz-ht.html
https://blog.csdn.net/chenchunyue11/article/details/51290638
一、梯度降低
二、牛顿法
三、拟牛顿法
四、共轭梯度法
https://www.cnblogs.com/happylion/p/4172632.html
http://www.noobyard.com/article/p-cizmzsov-n.html
https://www.cnblogs.com/hlongch/p/5734105.html
https://blog.csdn.net/a_a_ron/article/details/79181108
https://blog.csdn.net/amor_tila/article/details/75635283
https://www.cnblogs.com/cvtoEyes/p/8513958.html
https://blog.csdn.net/nuannuanyingying/article/details/70064353
https://blog.csdn.net/yangdashi888/article/details/78015448
数据不均衡问题:
http://www.noobyard.com/article/p-ygwvsnla-hm.html
数据缺失标签:
https://www.zhihu.com/question/41037974
全局平均池化
http://www.noobyard.com/article/p-qfqsiqem-oz.html
http://www.noobyard.com/article/p-mmdyahej-np.html
https://blog.csdn.net/jasonzzj/article/details/52017438
https://blog.csdn.net/u012494820/article/details/52797916
https://www.zhihu.com/question/41252833
https://zhuanlan.zhihu.com/p/27223959
https://zhuanlan.zhihu.com/p/35709485
https://www.zhihu.com/question/38035648
https://www.zhihu.com/question/64966457
https://blog.csdn.net/andylei777/article/details/72911189
http://www.noobyard.com/article/p-kzjiekuh-mr.html
http://www.sohu.com/a/209594012_610300
https://zhuanlan.zhihu.com/p/23906526
https://www.zhihu.com/question/24529483
https://zhuanlan.zhihu.com/p/38709373
统计机器学习须要人工设计特征,特征工程很重要
深度学习能够自动学习特征,特别是在图像、语音、文本方面,这些数据都有局部和总体关系,DL能发挥很大做用。
CNN的核心是什么?卷积操做是怎样进行的?卷积反向传播过程?Tensorflow中卷积操做是怎样实现的?
池化又是怎样操做的,反向传播过程当中池化层怎么接受后面传过来的损失的
max 怎么知道坐标
http://www.cnblogs.com/pinard/p/6494810.html
https://www.zhihu.com/question/58716267
https://blog.csdn.net/junmuzi/article/details/53206600
https://blog.csdn.net/Jason_yyz/article/details/80003271
https://blog.csdn.net/dzkd1768/article/details/72763659
http://www.noobyard.com/article/p-aqmdfhby-rs.html
https://www.cnblogs.com/objectDetect/p/5947169.html
http://www.noobyard.com/article/p-dkzirfig-nk.html
mobileNet
https://blog.csdn.net/t800ghb/article/details/78879612
http://www.noobyard.com/article/p-blrswdtr-bk.html
https://blog.csdn.net/stdcoutzyx/article/details/79117869
https://blog.csdn.net/yizhen_acmer/article/details/54670733
http://www.noobyard.com/article/p-xwomvwjn-qu.html
bagging:取多组训练数据,用相同的算法训练不一样的模型;
dropout:每一个batch随机抑制一部分神经元,至关于作了不一样的模型;
resnext:https://arxiv.org/pdf/1611.05431.pdf
https://blog.csdn.net/u014380165/article/details/71667916
http://www.360doc.com/content/17/0214/19/36492363_628998225.shtml
senet:https://arxiv.org/pdf/1709.01507.pdf
https://blog.csdn.net/xjz18298268521/article/details/79078551
http://www.sohu.com/a/161633191_465975
densenet:https://arxiv.org/pdf/1608.06993.pdf
http://www.noobyard.com/article/p-xtwmmuhl-nh.html
http://www.noobyard.com/article/p-xldobbxw-cv.html
https://yq.aliyun.com/articles/603849#
https://www.jianshu.com/p/ac26866e81bc
http://www.noobyard.com/article/p-cxorrsum-nt.html
https://www.cnblogs.com/houjun/p/8956384.html
https://blog.csdn.net/zhangjunp3/article/details/80467350
smooth l1:
https://www.cnblogs.com/573177885qq/p/6136991.html
triple loss:
http://www.noobyard.com/article/p-cdpehfno-qd.html
https://www.jianshu.com/p/46c6f68264a1
https://blog.csdn.net/u011501388/article/details/79206957
center loss
https://blog.csdn.net/u014380165/article/details/76946339
https://blog.csdn.net/wxb1553725576/article/details/80602786
多标签:
http://www.atyun.com/5376.html
https://www.zhihu.com/question/35486862
https://blog.csdn.net/yunhaitianguang/article/details/43877591
http://www.noobyard.com/article/p-wltvacge-hp.html
https://blog.csdn.net/u012328159/article/details/80025785
https://blog.csdn.net/hai008007/article/details/79735491
https://blog.csdn.net/fire_light_/article/details/79556192
https://www.cnblogs.com/makefile/p/init-weight.html?utm_source=itdadao&utm_medium=referral
https://imlogm.github.io/深度学习/vgg-complexity/
VGG16参数量大,resnet采用了1x1 3x3 1x1卷积方式bottleneck结构
https://blog.csdn.net/ACdreamers/article/details/44662633
https://blog.csdn.net/iterate7/article/details/78992015
http://www.noobyard.com/article/p-fdknzzbh-gk.html
标准的faster-RCNN中,假设正样本IOU(0.71.0)。负样本IOU(0.10.3),hard 负样本IOU(0.0~0.1)。好比实际的RPN网络中,实际最后的anchor通过NMS处理后的负样本是不少的,假若有100000个。而实际训练的正负样本比例为1:3,负样本大概只须要2000-3000个。这时就只选择那些hard负样本,这样实际训练出来的效果最好。
http://www.noobyard.com/article/p-zfkniqzi-oz.html
https://blog.csdn.net/songhk0209/article/details/71484469
http://www.cnblogs.com/demian/p/9575735.html
一、哈希
https://blog.csdn.net/jiandanjinxin/article/details/51281924
二、三种深度学习的方法
https://www.leiphone.com/news/201807/XvuvcU03PkYe7VcQ.html
三、sift特征
https://www.zhihu.com/question/27602122
四、很全的综述文章!!建议看
https://mp.weixin.qq.com/s/sM78DCOK3fuG2JrP2QaSZA
https://mp.weixin.qq.com/s/yzVMDEpwbXVS0y-CwWSBEA
五、一些论文
https://zhuanlan.zhihu.com/p/43569947
https://zhuanlan.zhihu.com/p/34084199
六、深度学习应用
https://www.zhihu.com/question/29467370
RNNs为何用tanh不用ReLU?ReLU的问题以及解决方案。
https://www.jianshu.com/p/78f614799cf2
http://blog.51cto.com/yixianwei/2096060
https://blog.csdn.net/maweifei/article/details/81058498
https://segmentfault.com/q/1010000014379836/
可使用行为检测定位,
http://www.noobyard.com/article/p-mcaqbeik-my.html
数据小物体多,容易漏检,预测的少,可是准
而后就说在多尺度预测,多加anchor之类的
别的都高,就说明算法没问题,这一类数据有问题
对这个类的数据作一个清洗
https://blog.csdn.net/zuochao_2013/article/details/56024172
https://blog.csdn.net/liyiafeia/article/details/52826600
http://www.noobyard.com/article/p-fdvynoog-dx.html
http://www.noobyard.com/article/p-agcgbccv-go.html
https://blog.csdn.net/mao_feng/article/details/78939864
http://www.elecfans.com/d/695496.html
http://chuansong.me/n/2131635951225
一、eigenface
http://www.noobyard.com/article/p-aahjozbk-ma.html
https://blog.csdn.net/smartempire/article/details/21406005
二、fisherface
https://blog.csdn.net/smartempire/article/details/23377385
http://www.noobyard.com/article/p-xodwzrqn-mh.html
经常使用概念
docker虚拟机也能够,直接部署docker
https://www.jianshu.com/p/53db67dd6c14
http://ai.51cto.com/art/201711/558147.htm
https://www.zhihu.com/question/46523847/answer/101665650
https://zhuanlan.zhihu.com/p/31063235
https://zhuanlan.zhihu.com/p/38276869
https://www.zhihu.com/question/57695571/answer/250062833
https://www.zhihu.com/question/40503595
一些观点:
观点一:
现阶段 app 上使用的深度学习主要有两种模式:
一种是 online 方式:移动端作初步预处理,把数据传到服务器执行深度学习模型,优势是这个方式部署相对简单,现成的框架(caffe,theano,mxnet,Torch) 作下封装就能够直接拿来用,服务器性能大, 可以处理比较大的模型,缺点是必须联网。
另一种是 offline 方式:在服务器进行训练的过程,在手机上进行预测的过程。
观点二:
作模型压缩。
观点三:
在移动端,直接拿模型来跑确定不行,除了软件环境,最重要的其实有两个方面:
第一是存储。为了解决这个问题,在DL领域有至关一部分人在作相关的问题,好比二值网络、网络压缩。其目的就是减小模型的参数规模利于存储。将权重怎么存可能也须要各类技巧吧。
第二是计算。这个跟存储和平台也有必定的关系。以上我提到的这两个工做是object detection领域比较新的且能实时处理的工做。在mobile设备上不可能拿模型直接用,要作一下简化和妥协。另外可行的方案是在服务器端跑模型。
另外还有一个比较有意思的工做是最近有一小部分人在作针对神经网络输入的图像采集设备,直接生成神经网络图片。这样就能够直接在输入端上解决存储的问题。
观点四:
注意三点:一、权重存储;二、计算速度;三、功耗。
三点都很重要,能够看看斯坦福William dally组的工做(删减链接、编码存储、混合精度)
观点五:
但是真正的工业界哪里有这么简单?哪里有现成的数据集?数据集怎么构造?如何清洗?数据体量都是上亿 代码写很差 跑不死你?
部门大量工具都是C写的不会C行只会python行吗?这么大数据 不会Hadoop spark搞得定?这么大数据训练 不会参数服务器 不会分布式搞得定?
模型调参就简单?深度学习是黑箱,就更要有比较高的理论水平,不然你连怎么调参的门道都找不到,为何不收敛,你都想不出来。
模型训练出来就万事大吉了?模型过重速度太慢 不符合业务需求 怎么办?怎么模型压缩?模型怎么上移动端?移动端没有合适的机器学习架构,你能不能写一个?
一个模型上线就完事了?想进一步提升性能,怎么办?是否是要紧跟学术前沿,能读懂paper,快速实验?这对英语和数学编程都有很高要求。
这说的都是深度学习的,然而不少场景是不适合用深度学习的。那决策树模型,进一步的集成学习,随机森林和GBDT你得懂。统计学习的你得懂,贝叶斯SVM和LR你得懂。有些业务还得用HMM,CRF或者NLP的东西。因此仍是要先虚心学习一个。
观点六:
一、移动端的训练问题,通常都是用现成的训练好的模型。
二、模型的参数体积问题
三、模型的计算时间问题
当下仍是流行使用服务器训练模型,移动端部署模型前向计算。用移动端进行训练如今的移动设备的内存及计算能力都有点吃力。本身大胆作个猜测:未来能够作成通用模型(服务器训练)加个性化模型(手机上训练)。
至于部署到移动端固然仍是会涉及到模型压缩及框架选择。
观点七:
我的总结:
一、服务器端跑模型,移动端给结果,这样作必须联网;
二、压缩模型,将参数权重存储在本地。存储问题须要考虑;
三、框架轻量化;
四、卷积硬件计算加速;
五、优化移动端深度学习引擎;
六、一些优化:使用低层语言;缓存友好:少用内存、连续访问、对齐访问、合并访问;多线程:线程开销、动态调度;稀疏化;定点化;包大小;编译优化;代码精简;模型压缩;内存精简;兼容性与可靠性;
SqueezeNet
https://blog.csdn.net/csdnldp/article/details/78648543
http://www.noobyard.com/article/p-updyahpy-qd.html
mobileNet
https://blog.csdn.net/t800ghb/article/details/78879612
http://www.noobyard.com/article/p-blrswdtr-bk.html
http://www.noobyard.com/article/p-wxjuartj-mp.html
ShuffleNet
https://blog.csdn.net/u011974639/article/details/79200559
https://blog.csdn.net/u014380165/article/details/75137111
Xception
http://www.noobyard.com/article/p-msrksyns-qb.html
上述四个模型总结
xception: https://arxiv.org/abs/1610.02357
shufflenet: https://arxiv.org/pdf/1707.01083.pdf
mobilenet: https://arxiv.org/pdf/1704.04861.pdf
squeezenet: https://arxiv.org/pdf/1602.07360.pdf
https://blog.csdn.net/u011995719/article/details/79100582
https://www.sohu.com/a/233688290_500659
https://www.sohu.com/a/233688290_500659
https://blog.csdn.net/zijin0802034/article/details/53982812
https://zhuanlan.zhihu.com/p/27295635
https://zhuanlan.zhihu.com/p/26491601
https://zhuanlan.zhihu.com/p/28853704
https://zhuanlan.zhihu.com/p/27663439
https://zhuanlan.zhihu.com/p/28731033
https://github.com/hindupuravinash/the-gan-zoo
https://zhuanlan.zhihu.com/p/30107433
#include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/core/core.hpp> using namespace std; using namespace cv; #if 1 Mat Kernel_test_3_3 = ( Mat_<double>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); void Convlution(Mat InputImage, Mat OutputImage, Mat kernel) { //计算卷积核的半径 int sub_x = kernel.cols / 2; int sub_y = kernel.rows / 2; //遍历图片 for (int image_y = 0; image_y < InputImage.rows - 2 * sub_y; image_y++) { for (int image_x = 0; image_x < InputImage.cols - 2 * sub_x; image_x++) { int pix_value = 0; for (int kernel_y = 0; kernel_y < kernel.rows; kernel_y++) { for (int kernel_x = 0; kernel_x < kernel.cols; kernel_x++) { double weihgt = kernel.at<double>(kernel_y, kernel_x); int value = (int)InputImage.at<uchar>(image_y + kernel_y, image_x + kernel_x); pix_value += weihgt*value; } } OutputImage.at<uchar>(image_y + sub_y, image_x + sub_x) = (uchar)pix_value; if ((int)pix_value != (int)saturate_cast<uchar>((int)pix_value)) { //cout<<"没有防溢出"<<(int)pix_value<<endl; //cout<<"防溢出"<<(int)saturate_cast<uchar>((int)pix_value)<<endl; //cout<<"没有防溢出写入了什么?"<<(int)OutputImage.at<uchar>(image_y+sub_y,image_x+sub_x)<<endl; //cout<<endl; } } } } int main() { Mat srcImage = imread("1.jpg", 0); namedWindow("srcImage", WINDOW_AUTOSIZE); imshow("原图", srcImage); //filter2D卷积 Mat dstImage_oprncv(srcImage.rows, srcImage.cols, CV_8UC1, Scalar(0));; filter2D(srcImage, dstImage_oprncv, srcImage.depth(), Kernel_test_3_3); imshow("filter2D卷积图", dstImage_oprncv); imwrite("1.jpg", dstImage_oprncv); //自定义卷积 Mat dstImage_mycov(srcImage.rows, srcImage.cols, CV_8UC1, Scalar(0)); Convlution(srcImage, dstImage_mycov, Kernel_test_3_3); imshow("卷积图3", dstImage_mycov); imwrite("2.jpg", dstImage_mycov); waitKey(0); return 0; } #else #endif
https://blog.csdn.net/sinat_34474705/article/details/80045294
import numpy as np class Bounding_box: def __init__(self, x1, y1, x2, y2, score): self.x1 = x1 self.y1 = y1 self.x2 = x2 self.y2 = y2 self.score = score def get_iou(boxa, boxb): max_x = max(boxa.x1, boxb.x1) max_y = max(boxa.y1, boxb.y1) min_x = min(boxa.x2, boxb.x2) min_y = min(boxa.y2, boxb.y2) if min_x <= max_x or min_y <= max_y: return 0 area_i = (min_x - max_x) * (min_y - max_y) area_a = (boxa.x2 - boxa.x1) * (boxa.y2 - boxa.y1) area_b = (boxb.x2 - boxb.x1) * (boxb.y2 - boxb.y1) area_u = area_a + area_b - area_i return float(area_i) / float(area_u) def NMS(box_lists, k): box_lists = sorted(box_lists, key=lambda x: x.score, reverse=True) NMS_lists = [box_lists[0]] temp_lists = [] for i in range(k): for j in range(1, len(box_lists)): iou = get_iou(NMS_lists[i], box_lists[j]) if iou < 0.7: temp_lists.append(box_lists[j]) if len(temp_lists) == 0: return NMS_lists box_lists = temp_lists temp_lists = [] NMS_lists.append(box_lists[0]) return NMS_lists box1 = Bounding_box(13, 22, 268, 367, 0.124648176) box2 = Bounding_box(18, 27, 294, 400, 0.35818103) box3 = Bounding_box(234, 123, 466, 678, 0.13638769) box_lists = [box1, box2, box3] NMS_list = NMS(box_lists, 2) print NMS_list print NMS_list[0].x1
判别性模型:
生成型模型:
bagging与dropout关系
http://www.noobyard.com/article/p-webqdfgu-pw.html
https://blog.csdn.net/u014114990/article/details/50948079
https://blog.csdn.net/taoyanqi8932/article/details/54098100
http://www.cnblogs.com/onemorepoint/p/9264782.html
https://www.zhihu.com/question/37096933
https://blog.csdn.net/zchang81/article/details/70208061
https://blog.csdn.net/pan060757/article/details/73321681
https://www.cnblogs.com/hellcat/p/7979711.html
https://blog.csdn.net/u010910642/article/details/51315517
https://blog.csdn.net/xbinworld/article/details/43612603
https://www.iteblog.com/archives/2317.html
https://my.oschina.net/hunglish/blog/787596
欧氏距离、
余弦类似度距离
KL散度:https://blog.csdn.net/ericcchen/article/details/72357411
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另外一个方向是函数的极小值点。
判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的黑塞矩阵为不定矩阵。
半正定矩阵: 全部特征值为非负。
半负定矩阵:全部特征值为非正。
不定矩阵:特征值有正有负。
http://www.360doc.com/content/18/0522/09/32196507_756021531.shtml
https://www.zhihu.com/question/21883548
https://blog.csdn.net/u014248127/article/details/79015803
http://www.noobyard.com/article/p-ukdulbca-b.html
http://www.noobyard.com/article/p-xtlsrasw-b.html
https://blog.csdn.net/bbbeoy/article/details/79590981
https://www.cnblogs.com/mata123/p/7440774.html
GBDT原理,和RF的区别
https://www.cnblogs.com/peizhe123/p/5086128.html
http://www.noobyard.com/article/p-ujmbnzus-hx.html
http://www.noobyard.com/article/p-zjaectxd-gq.html
https://www.cnblogs.com/EstherLjy/p/9372414.html
http://www.noobyard.com/article/p-hauqcxbs-bz.html
http://www.noobyard.com/article/p-gfmwovfm-mh.html
http://www.noobyard.com/article/p-smqovhcl-u.html
https://www.cnblogs.com/itmorn/p/7918797.html
https://blog.csdn.net/lisi1129/article/details/68925799
http://www.noobyard.com/article/p-qwtmjuwj-dq.html
http://www.noobyard.com/article/p-uymveanx-nh.html
https://blog.csdn.net/u012990623/article/details/40272619
http://www.noobyard.com/article/p-bfynhpnl-ma.html
https://www.jianshu.com/p/2334bee37de5
http://www.noobyard.com/article/p-hokbbyzi-hr.html
http://www.noobyard.com/article/p-zxepwpwq-cg.html
http://www.noobyard.com/article/p-fomftgsg-hm.html
http://www.noobyard.com/article/p-cdjxxgxk-md.html
https://blog.csdn.net/eejieyang/article/details/52333112
https://blog.csdn.net/LG1259156776/article/details/51816875
https://blog.csdn.net/u012968002/article/details/44463229
https://blog.csdn.net/qq_25867649/article/details/52131252
https://blog.csdn.net/linqianbi/article/details/78593203
http://www.noobyard.com/article/p-wgligdzz-nk.html
https://blog.csdn.net/water_93/article/details/50859193
https://www.cnblogs.com/daxiongblog/p/6289551.html
https://www.cnblogs.com/hustlx/p/5245226.html
http://www.noobyard.com/article/p-smktfkxj-hw.html
https://blog.csdn.net/smallstones/article/details/42198049
https://blog.csdn.net/longlovefilm/article/details/79824723
https://www.xuebuyuan.com/3203656.html
https://blog.csdn.net/eric_e/article/details/79504444
https://blog.csdn.net/lg1259156776/article/details/47037583/
https://blog.csdn.net/zchang81/article/details/73275155/
https://blog.csdn.net/yangyangyang20092010/article/details/8472257
https://www.cnblogs.com/hustlx/p/5245461.html
http://www.noobyard.com/article/p-ybmjaksm-dz.html
https://blog.csdn.net/qq_32864683/article/details/79748027
https://blog.csdn.net/chaipp0607/article/details/72236892?locationNum=9&fps=1
http://www.noobyard.com/article/p-mleasdab-kv.html
http://www.noobyard.com/article/p-xrdipdvi-mb.html
http://www.noobyard.com/article/p-ysfzsfid-km.html
https://blog.csdn.net/soaringlee_fighting/article/details/52708638
https://blog.csdn.net/lanxuecc/article/details/52222369
http://www.noobyard.com/article/p-bzyfcpiu-hp.html
https://blog.csdn.net/lwzkiller/article/details/54633670
https://blog.csdn.net/jaccen2012/article/details/78643286
http://www.noobyard.com/article/p-boxybyyh-nr.html
https://blog.csdn.net/abcjennifer/article/details/7639681
https://www.cnblogs.com/tornadomeet/archive/2012/08/17/2644903.html
http://www.noobyard.com/article/p-boxybyyh-nr.html
https://blog.csdn.net/keith_bb/article/details/70225785
一、DCT
https://www.cnblogs.com/helloforworld/p/5283641.html
https://blog.csdn.net/qq_29573053/article/details/78436325
http://www.noobyard.com/article/p-dkyltduk-nc.html
二、
https://blog.csdn.net/IMWTJ123/article/details/79831242
https://blog.csdn.net/try_again_later/article/details/78621720
http://www.noobyard.com/article/p-vvsklkif-mq.html
https://blog.csdn.net/Chaolei3/article/details/79443520
https://blog.csdn.net/missingu1314/article/details/8675434
https://blog.csdn.net/pipisorry/article/details/51182843
http://www.noobyard.com/article/p-vmfgqrxn-gk.html
分红3份 总的分法 M=(C54,18)(C36,18)(C18,18)
大小王在同一份N=(C3,1)(C52,16)(C36,18)*(C18,18) P=N /M=17/53 。
http://www.noobyard.com/article/p-plvfizob-kx.html
https://www.cnblogs.com/zjh225901/p/7495505.html
http://www.noobyard.com/article/p-nijzifyv-kz.html
https://www.nowcoder.com/questionTerminal/836b01b7809248b7b6e9c30495d4680e?from=14pdf
假设一段公路上,1小时内有汽车通过的几率为96%,那么,30分钟内有汽车通过的几率为?
48%
52%
80%
96%
一小时有车的几率 = 1 - 一小时没车的几率 = 1 - 两个半小时都没车的几率 = 1 - (1 - 半小时有车的几率)^2
1-(1-x)^2=0.96
x = 0.8
三个宝箱里有一个宝箱里有宝物,两个是空的,你选了一个,主持人打开剩下2个中的一个发现没有宝物,问你换不换
假设A无,B无,C有,
选A,则主持人只会开B,1/3几率;
选B,则主持人只会开A,1/3几率;
选C,则主持人会开A\B,1/3几率;
可见,不换只有1/3的几率中,换的话,有2/3的几率中;
南极点,恰好一个等边三角形;
或者是一个一圈距离恰好是1千米的那个地方。向北走以后,达到那个地方,饶了一圈回到这个地方,再向南走回去。
https://blog.csdn.net/Turinglife/article/details/7358061
从逻辑上来说,题目从好像缺乏了一次向西的过程,才能够回到原地。有没有可能向东1千米还在原地,答案是确定的,若是有一个纬度,绕其一圈刚好是1千米便可实现,因此这样的点有无穷多个,只要找到那个纬度便可。
a9没有进位,且为四位数,a只能为1
d9个位数为1,d只能是9
b9后为个位数(9加任何数进位),这个数只能是1或0,排除1,b=0
c9+8的尾数为0,则c*9个位数为2,c=8
a4没有进位,说明a=1或2,可是d4的个位是a,不可能a=1,因此a=2;
d=a4=8;并且没有进位,说明b4+它的可能进位不超过10;
若是b=0:则c*4的个位须要是7,不存在,不符;
若是b=1:则c*4的个位须要是8,存c=2不符合,c=7符合,因此为2178;
若是b=2:则c*4的个位须要是9,不符;
(1/21/2)/(1-1/21/2)
=(1/4)/(3/4)
=1/3
5L桶装满水,倒入3L桶;此时5L中有2L水,3L桶中有3L水;
3L桶所有倒走,将5L桶的2L水道入3L桶中,此时5L桶中没有水,3L桶中有2L水;
将5L桶倒满水,而后向3L桶中倒水,此时3L桶水已满,5L桶中还剩4L水。
https://zhidao.baidu.com/question/329122415632328485.html
一个圆周上,随机点三个点,这三个点在同一个半圆上的几率是多少?
三个点在同一个半圆时,造成的三角形为直角或钝角三形(本身想为何).
不在同一个半圆时,为锐角三角形.
三点在同一半圆的几率是3/4,因此你这题的答案为1/4.
设在圆上任取的3点是A、B、C。圆心为 O
先假定A、B的位置,设弦AB的圆心角为∠α,且∠α属于[0,π].那么知足锐角三角形的C点就要在AO延长线与BO延长线间,因此C点的取值范围只有圆心为α的弧,即几率为:α/(2π)
对任意A、B的位置,C点的几率为对α/(2π)从[0,π]积分,结果是 π/4
关于为何C点就要在AO延长线与BO延长线间,由于C点若是不在这之间,则ABC三点就会处于同一个半圆中。而处于同一个半圆中的三个点构成直角或者钝角三角形。
http://www.noobyard.com/article/p-exgwgoqw-dv.html
地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,可是进程之间的资源是独立的。
一个进程崩溃后,在保护模式下不会对其余进程产生影响,可是一个线程崩溃整个进程都死掉。因此多进程要比多线程健壮。
进程切换时,消耗的资源大,效率高。因此涉及到频繁的切换时,使用线程要好于进程。一样若是要求同时进行而且又要共享某些变量的并发操做,只能用线程不能用进程
执行过程:每一个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。可是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
线程是处理器调度的基本单位,可是进程不是。
二者都可并发执行。
优缺点:
线程执行开销小,可是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。
进程执行开销大,可是可以很好的进行资源管理和保护。进程能够跨机器前移。
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里全部记录的引用指针。索引的遵循原则:一、最左侧原则,表的最左侧的一列,每每数据不会发生改变,不影响其余列的数据;二、命名短小原则,索引命名过长会使索引文件变大,损耗内存。
普通索引(由关键字KEY或INDEX定义获得索引):加快数据的查询速度
惟一索引(由关键字UNIQUE把它定义为惟一索引):保证数据记录的惟一性
主键:一种特殊的惟一索引,在一张表中只能定义一个主键索引,用来标识惟一一条数据,用PRIMARY KEY建立。
联合索引:索引能够覆盖多个数据列,如像INDEX(columnA, columnB)索引,这就是联合索引。
索引能够极大的提升查询访问速度,可是会下降插入,删除,更新表的速度,由于在执行写操做的时候还要操做索引文件。
TCP提供一种面向链接的、可靠的字节流服务。
面向链接:意味着两个使用TCP的应用(一般是一个客户和一个服务器)在彼此交换数据以前必须先创建一个TCP链接。在一个TCP链接中,仅有两方进行彼此通讯。广播和多播不能用于TCP。
TCP经过下列方式来提供可靠性:
一、应用数据被分割成TCP认为最适合发送的数据块。这和UDP彻底不一样,应用程序产生的数据报长度将保持不变。 (将数据截断为合理的长度)
二、当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。若是不能及时收到一个确认,将重发这个报文段。
(超时重发)
三、当TCP收到发自TCP链接另外一端的数据,它将发送一个确认。这个确认不是当即发送,一般将推迟几分之一秒 。 (对于收到的请求,给出确认响应) (之因此推迟,多是要对包作完整校验)
四、 TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程当中的任何变化。若是收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。 (校验出包有错,丢弃报文段,不给出响应,TCP发送数据端,超时时会重发数据)
五、既然TCP报文段做为IP数据报来传输,而IP数据报的到达可能会失序,所以TCP报文段的到达也可能会失序。若是必要,TCP将对收到的数据进行从新排序,将收到的数据以正确的顺序交给应用层。 (对失序数据进行从新排序,而后才交给应用层)
六、既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。(对于重复数据,可以丢弃重复数据)
七、TCP还能提供流量控制。TCP链接的每一方都有固定大小的缓冲空间。TCP的接收端只容许另外一端发送接收端缓冲区所能接纳的数据。这将防止较快主机导致较慢主机的缓冲区溢出。(TCP能够进行流量控制,防止较快主机导致较慢主机的缓冲区溢出)TCP使用的流量控制协议是可变大小的滑动窗口协议。
字节流服务::
两个应用程序经过TCP链接交换8bit字节构成的字节流。TCP不在字节流中插入记录标识符。咱们将这称为字节流服务(bytestreamservice)。
TCP对字节流的内容不做任何解释:: TCP对字节流的内容不做任何解释。TCP不知道传输的数据字节流是二进制数据,仍是ASCII字符、EBCDIC字符或者其余类型数据。对字节流的解释由TCP链接双方的应用层解释。
https://www.cnblogs.com/dormant/p/5223215.html
https://www.cnblogs.com/Allen-rg/p/6927129.html
https://blog.csdn.net/xy913741894/article/details/52939323
https://www.cnblogs.com/songdanzju/p/7422380.html
https://blog.csdn.net/u012658346/article/details/50725933
https://www.cnblogs.com/laodageblog/p/3777563.html
http://blog.jobbole.com/44015/
https://www.jianshu.com/p/4f58ebc43b82
http://www.noobyard.com/article/p-fjuhrhqo-km.html
https://blog.csdn.net/TQH_Candy/article/details/52387714
https://blog.csdn.net/u011408355/article/details/47957481
https://blog.csdn.net/u012614287/article/details/57149290
https://blog.csdn.net/qq915697213/article/details/66972836
https://blog.csdn.net/q_l_s/article/details/58072799
http://www.noobyard.com/article/p-pyrqnnbl-gb.html
http://www.noobyard.com/article/p-hvbssgvc-dn.html
什么是全局解释器锁GIL
Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。
在多线程环境中,Python 虚拟机按如下方式执行:
在调用外部代码(如C/C++扩展函数)的时候,GIL 将会被锁定,直到这个函数结束为止(因为在这期间没有Python 的字节码被运行,因此不会作线程切换)。
全局解释器锁GIL设计理念与限制
GIL的设计简化了CPython的实现,使得对象模型,包括关键的内建类型如字典,都是隐含能够并发访问的。锁住全局解释器使得比较容易的实现对多线程的支持,但也损失了多处理器主机的并行计算能力。
可是,不论标准的,仍是第三方的扩展模块,都被设计成在进行密集计算任务是,释放GIL。
还有,就是在作I/O操做时,GIL老是会被释放。对全部面向I/O 的(会调用内建的操做系统C 代码的)程序来讲,GIL 会在这个I/O 调用以前被释放,以容许其它的线程在这个线程等待I/O 的时候运行。若是是纯计算的程序,没有 I/O 操做,解释器会每隔 100 次操做就释放这把锁,让别的线程有机会执行(这个次数能够经过 sys.setcheckinterval 来调整)若是某线程并未使用不少I/O 操做,它会在本身的时间片内一直占用处理器(和GIL)。也就是说,I/O 密集型的Python 程序比计算密集型的程序更能充分利用多线程环境的好处。