自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 开发岗面试汇总

中间件:Redis:高性能k-v数据库,在内存运行,也可以持久化到磁盘,单线程单进程KV数据库。支持的数据结构和底层实现:类型 用法 实现 String set key value 最大512M Hash(k-v集合) hmset name key1 val1 key2 val2 适合存储对象 List(有序列表,按插入顺序排序) lpush/rpush name value SET(无序集合) sadd name va

2022-05-01 01:38:44 2626

原创 DevOps面试

CI/CD:CI持续集成,CD是持续交付/持续部署。jekins:持续集成的一套工具,jekinsfiles和webui可以定义流水线;其中agent指令是必需的,它指示 Jenkins 为流水线分配一个执行器和工作区;此外流水线还需要stages指令和steps指令,指示jekins执行什么,在哪个阶段执行。ansible playbooks:playbooks...

2022-04-22 10:49:09 478

原创 后端面试接触golang

1、go调度器:GMP模型,线程运行是goroutine的实体,调度器的功能是把可运行的goroutine分配到工作线程上。(1)我们通过go func()来创建一个goroutine(2)有两个存储G的队列,局部调度器P的本地队列,一个是全局G队列。新建的G会保留在P的本地队列,如果P的本地队列满了就保留在全局中。(3)G只能运行在M中,一个M必须有一个P,M与P是1:1的关系。(4)一个M调度G的过程,必须是一个循环机制;(5)当M执行一个G如果...

2022-04-20 18:58:33 3125

原创 后端基础面试汇总-python

resultful风格:前后端分离,后端需要一种设计模式来规范约束。每一个URL代表一种资源;客户端和服务器之间,传递这种资源的某种表现层;客户端用户四个HTTP动词,对服务器资源进行操作,实现“表现层状态转化”。Web开发中的存在安全漏洞:csrf利用cookie进行跨域伪造攻击,SQL注入。csrf是跨站请求伪造,攻击者伪造用户信息,像访问一个用户自己曾经认证的网站发送出去。譬如用户访问网站A留下了cookie,又访问网站B B网站携带攻击性代码访问。防御CSRF攻击:主要有三个策略:验

2022-04-19 20:10:05 708

原创 算法-反转字符串

给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。暴力遍历时间复杂度是O(m*n),可以用三步反转法达到O(n),先分开反转,再整体反转。Golang代码段:package mainimport "fmt"func reverseList(s *string,

2022-04-16 18:47:10 620

原创 golang并发

1.1 并发基础1.1.1 goroutinego语言用go关键字来启动一个goroutine,go的执行是非阻塞的无法保证调度次序:runtime.GOMAXPROCS(n)可以设置gorotine数量 Goexit可以退出当前goroutine的运行 Gosched可以放弃当前调度执行机会1.1.2 chanchan表示通道,是goroutine之间通信和同步的重要组件。声明make(chan datatype, n)创建有缓冲的通道,其中内置函数len和cap(len表示没有读取

2021-03-03 23:46:46 84

转载 linux环境下nohup: redirecting stderr to stdout问题

在生产环境下启动Weblogic时,发现原来好好的nohup信息输出到指定文件中的功能,突然出问题了。现象是控制台输出的信息一部分输出到了我指定的文件,另一部分却输出到了nohup.out,而我是不想让它产生nohup.out文件,不知道是什么原因。我的启动命令是这样的:nohup bin/startManagedServer.sh myserver htp://192.168.0.1 -X...

2019-01-02 16:35:37 14173

原创 uwsgi + nginx多域名解析到django

Uwsgi和Nginx的区别:1、 nginx是对外的服务器,外部浏览器通过url访问nginx,uwsgi是对内的服务器,主要是用来处理动态请求。2、nginx接收到浏览器发送过来的http请求,将包进行解析,分析url; a.如果是静态文件请求就直接访问用户给nginx的静态文件,直接返回用户请求的静态文件,b.如果不是静态文件,而是一个动态请求,那么nginx就将请求转发给uwsgi...

2018-11-08 18:51:33 1492

转载 Ubuntu Navicat for MySQL安装以及破解方案

首先上官网上下载LINUX版本: http://www.navicat.com/download1. 下载 navicat110_mysql_en.tar.gz 文件 2. 下载后解压tar文件tar -zxvf  /home/rain/download/navicat8_mysql_en.tar.gz  3. 解压后  进入解压后的目录运行命令:./start_navicat ...

2018-10-30 15:22:46 153

原创 spark架构与原理

spark的优势:1、spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理需求。2、spark可以将hadoop集群中应用在内存中的运行速度提升10倍,甚至能将应用在磁盘上的运行速度提升10倍。Spark core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他spa...

2018-10-28 21:35:12 268

原创 智能运维

运维工作人员日常监测服务器的运行情况,数据库的连接情况以及服务器的CPU的占用率、内存环境指数等。但由于企业机器较多,用人去观察机器的运行情况难免会造成不如用大数据或者AI手段来的更加迅速;而且也节约了大量的人力成本,故引入了智能运维这个概念。 相关场景:资源发生故障(CPU突然飙升,数据库运行缓慢)可以和所影响的业务(用户访问量,访问延迟)做关联分析。智能阈值:固定阈值就相...

2018-10-22 00:53:16 2121

原创 Python开发——网络基础

TCP与UDP的区别:TCP  传送控制协议(Transmission Control Protocol):TCP是传输层的一个协议,基于IP协议,用于传输类似HTTP的信息。TCP协议是面向连接的协议,通过三次握手机制,尽量保证链接的可靠性;TCP链接需要三次握手,释放需要四次挥手。UDP 用户数据报协议 (User Datagram Protocol) :UDP也是传输层的一个...

2018-10-20 15:44:30 254

原创 python select()/poll()/epoll()简介

select一般用在socket网络编程中,在网络编程的过程中,经常会遇到许多阻塞的函数,网络编程时使用的recv, recvfrom、connect函数都是阻塞的函数,当函数不能成功执行的时候,程序会一直阻塞,无法执行下面的代码。这时就需要用到非阻塞的编程方式,使用select函数就可以实现非阻塞编程。select() 和 poll() 系统调用的本质一样,poll() 的机制与 selec...

2018-10-19 16:39:54 2070

原创 TCP/IP协议详解

TCP/IP是一组协议的代名词,它还包含许多协议,组成了TCP/IP协议族;IP位于协议族的第二层(对应OSI的第三层),TCP位于协议(对应OSI的第三层),TCP位于协议族的第三层(对应OSI的第四层)。TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求:应用层:应用程序沟通的层;传输层:在此层中,它提供了节点间的数据传输服务;互连网络层:负责...

2018-10-19 09:02:01 283

原创 Python消息队列,Redis,Socket,gevent相关

消息队列:消息队列是在消息的传输过程中保存消息的容器,Python中multiprocessing的Queue和Pipe都可以实现消息队列的功能,基于生产这消费者模型,实现进程之间的通信。还有一些其他主流的消息队列工具,如:RabbitQM,ZeroMQ,kafla。Redis:Redis最为常用的数据类型主要有以下五种:String,Hash,List,Set,Sorted set。...

2018-10-17 23:14:28 775

原创 Linux操作使用总结

1、查看端口号进程:lsof -i:80802、查看本机所有进程:ps aux3、杀死该进程:kill -9 PID #PID是进程号4、grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。5、netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等。6、ls表示列出目录下的文件。7、scp是s...

2018-09-30 15:05:52 149

原创 mysql-python安装时EnvironmentError: mysql_config not found

在安装 mysql-python时,会出现:sh: mysql_config: not foundTraceback (most recent call last): File "setup.py", line 15, in <module> metadata, options = get_config() File "/home/zhxia/apps/so...

2018-09-26 18:10:54 220

原创 解决OSError: [Errno 98] Address already in use

原因:没有停下项目的情况下,关闭IDE.   或者是之前的项目没有停掉,又一次运行了本项目.解决办法:前者很简单,杀死进程.后者更简单把正在run的项目停掉.杀死进程的命令(有点侮辱大家的智商了,但还是要补充一下):lsof -i :5000 #这个命令针对我用的hostport5000,大家自己更换. 如果是查看本机所有的进行的进程:ps aux # 用ps -A查看所有...

2018-09-26 18:08:40 1026

原创 Python语法糖

1、__init__和__new__的区别:__init__方法发生在__new__方法之后,是初始化一个新实例,控制整个实例初始化过程;__new__方法属于控制新实例生成的过程,属于类级别的方法。__new__方法需要有返回值,返回类的实例,它的作用可以修改父类的一些不可更改的参数。2、简述with方法打开处理文件帮我我们做了什么?open方法没有做异常判断,需要写try,ex...

2018-09-22 12:19:24 1825

原创 leetcode-腾讯算法笔试题

数组和字符串:两数之和:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。代码:class Solution:    def twoSum(self, nums, target):        """        :type nums: List[int]        :type target: ...

2018-09-20 22:10:20 3309

原创 经典排序算法汇总

1、冒泡排序:每次遍历数组,把最大的数放在最后一个index再从index-1开始往前遍历。def maopao(num_list): for j in range(1, len(num_list)): for i in range(len(num_list) - j): if num_list[i] > num_list[len(num...

2018-09-18 01:09:12 147

原创 读书笔记——统计学习方法:方法概论

统计学习包括监督学习、非监督学习、半监督学习及强化学习。监督学习:从给定有限的训练数据出发,假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给训练数据及为知测试数据在给定评价标准意义下有最准确的预测。输入输出均为离散的为分类问题,输入输出连续的为回归问题,输入与输出均为变量序列的预测问题为标注问题。统计学习常用的损失函数有...

2018-09-16 13:01:39 108

原创 leetcode-广度优先搜索

leetcode-207:现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?算法设计:首先构建一个key为需提前修的课程的id,value为后面修的课程的id list的字典;遍历该字典的...

2018-09-07 22:12:34 356

原创 leetcode- 哈希表

leetcode18.四数之和:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。算法设计:对nums按sort排序,循环遍历nums,先确定nums[i];再遍历i + 1到len(nums) - 1的j,确定l...

2018-09-06 13:42:26 204

原创 leetcode-双指针

leetcode15:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。算法设计:对数组nums排序,遍历nums数组;设当前index为i,l为i+1,r为len(nums) - 1,对i,l,r求和并遍历l和r。源代码:def threeSum(self, num...

2018-09-05 21:36:51 158

原创 leetcode-深度优先搜索

leetcode113:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。算法设计:用迭代算法,从树的根节点往左,往右搜索,直到加和为sum时返回,否则返回空list。源代码:# Definition for a binary tree node.class TreeNode(object):    def __init__(self, x...

2018-09-05 13:40:14 247

原创 leetcode-二分查找

leetcode-29给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。算法设计:用2进制的左移操作,每次对被除数左移1位,比较除数与被除数左移的后的大小关系,并在结果中加上左移的数据,直到被除数小于除数为止。源代码:def divide(se...

2018-09-04 23:21:54 219

原创 Leetcode-动态规划

leetcode5-最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。算法设计:遍历字符串s,以当前点i为中点向两端遍历;记录中心点i的回文字符串左右标记l,r;计算长度更新长度大于以前遍历的l,r端点;遍历完后返回s[l:r].源代码:def longestPalindrome(self, s):        """   ...

2018-09-04 22:48:43 515

原创 leetcode刷题-数学

leetcode-07.反转整数:给定一个 32 位有符号整数,将整数中的数字进行反转。算法设计:对输入x取绝对值,while遍历x,取x对10的余数加入result * 10,并每次while对x除10,最后得出result并乘上符号。代码: def reverse(self, x):        """        :type x: int        :rty...

2018-09-03 22:08:28 98

原创 LeetCode刷题-Z字形变换

算法设计:初始化一个n维数组L,以及step为1;当n为0时,step为1,当n为row-1时,step变为-1;这样既能保证n在[0, row-1]之间按顺序变动。源代码:def convert(self, s, numRows):        """        :type s: str        :type numRows: int        :rtype: ...

2018-08-27 22:13:09 114

原创 LeetCode刷题——数组

LeetCode-1: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。算法设计:此题可以两个for循环遍历查找,但是复杂度太高;不妨尝试用字典,单层for循环即可搞定:每次遍历时把相反的数存入字典,则在遍历到key值时则返回。代码:for i in range(len(nums)): ...

2018-08-27 22:03:11 283

原创 数据归一化原理

1、min_max方法:公式很简单(x - min) / (max - min),一般用于处理有确切上下界样本。2、z_score方法:公式为:x* = (x - μ ) / σ,假设样本服从正态分布,一般用于处理无界且有均值的样本。上述两种方法最常见的归一化方法,但预测数据可能大于max,或者小于min;或者不符合以前的均值方差,会造成一定误差。3、非线性变换:logis...

2018-08-21 22:14:47 4317

原创 决策树算法原理及调参

1、决策树介绍决策树是通过一系列规则对数据进行分类的过程。它提供一种在什么条件下会得到什么值的类似规则的方法。决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。CART和C4.5支持数据特征为连续分布时的处理,主要通过使用二元切分来处理连续型变量,即求一个特定的值-分裂值:特征值大于分裂值就走左子树,或者就走右子树。这个分裂值的选取的原则是使得划分后的子树中...

2018-07-25 00:13:20 8971

转载 Robomongo连接远程MongoDB数据库

修改远程服务器上mongodb配置打开/etc/mongodb.conf配置文件将bind_ip注释起来,如:#bind_ip = 127.0.0.1创建管理员用户mongouse admindb.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})//

2018-04-08 17:02:27 3576

原创 SVM原理与调参

一、SVM基本原理:支持向量机(support vector machines)是一个二分类的分类模型(或者叫做分类器)。如图:它分类的思想是,给定给一个包含正例和反例的样本集合,svm的目的是寻找一个超平面来对样本根据正例和反例进行分割。在样本空间中,划分超平面可通过如下线性方程来描述:SVM的核心思想是尽最大努力使分开的两个类有最大间隔,这样才能使得分割有更高的可信度。如图所示:在这两个超平面...

2018-03-30 08:45:16 4232

原创 Python时间转换

Python处理时间经常会遇到datetime、time、string以及时间戳之间的转换。一、时间戳转换time:time.localtime(timestamp)二、datetime转string:date_time.strftime('%Y-%m-%d')三、string转datetime:date_time = datetime.datetime.strptime(str,'%Y-%m-%...

2018-03-27 12:32:00 155

原创 Python class类转字典

有时候会需要从包装的类里面取出需要的数据,但有不能直接取出来:可以通过如下代码,把class转换成字典:# 将class转dict,以_开头的也要def props_with_(obj): pr = {} for name in dir(obj): value = getattr(obj, name) if not name.startswith(...

2018-03-25 21:58:49 6399

原创 Python PCA降维

在降维之前,会对输入特征进行归一化:一、标准化有两种一般有两种方法:1、min-max标准化: 对原有数据进行线性变换,使其落在[0, 1]区间,转换函数如下:2、z-score 标准化:数据符合正太分布,求出相应的均值方差,转换函数如下:x* = (x - μ ) / σ在Python中可以直接调用sklearn的preprocessing方法标准化:scaler = preprocessing...

2018-03-22 22:36:53 862

原创 CTP交易接口开发所遇问题总结

一、CTP的API分为行情API和交易API介绍:其中行情API提供两类接口,用户通过CThostFtdcMdApi发送请求,通过CThostFtdcMdSpi收到接口的相应回报。交易API同样也有两类接口,用户通过CThostFtdcTraderApi发送请求,通过CThostFtdcTraderSpi收到接口的相应回报。二、CTP的报单流程:CTP终端报单指令(ReqOrderInsert)报...

2018-03-17 23:02:38 14379 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除