自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python网络编程

TCP服务端与客户端# -*- coding: utf-8 -*-import socketfrom time import ctimeclass TcpServer(object): def __init__(self, host='127.0.0.1', port=8888, bufsiz=1024, listen=10): self.tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STRE

2021-11-27 13:49:56 316

原创 django 装饰器妙用

# 装饰器妙用## 登录校验from utils import responsedef login_auth(func): def wrap(request, *args, **kwargs): # 获取token token = request.META.get('HTTP_AUTHORIZATION') if not token: return response.failResponse('登录状态失效,请重新登陆!

2021-10-28 15:19:48 229

原创 Python线程与协程

# # -*- coding:utf-8 -*-import timeimport threadingclass MyThread(threading.Thread): def __init__(self, func, args, name=''): threading.Thread.__init__(self) self.name = name self.func = func self.args = args

2021-10-22 16:54:35 157

原创 测试ip端口存活脚本

#!/bin/bash用于测试falcon组件是否存活,挂掉则火星通知对应负责人广州内网gatewaygz_geteway_intranet_ip=(“10.17.66.244” “10.17.66.245”)广州中网gatewaygz_geteway_mid_ip=(“10.16.64.106” “10.16.64.107”)成都内网gatewaycd_geteway_intranet_ip=(“192.168.112.140” “192.168.112.147”)成都中网gateway

2021-10-12 23:15:10 355

原创 django开发中的问题

时间问题django存储到数据库的时间比本地时间小8个小时Django1.4版本之前,对时区毫无概概念,对时间的存取、展示不做任何处理,数据库里存储的通常是本地时间,当然都是naive time。Django在1.4版本之后存储如果设置了USE_TZ=True,则存储到数据库中的时间永远是UTC时间。这时如果settings里面设置了USE_TZ=True与TIME_ZONE = ‘UTC’,用datetime.datetime.now()获取的时间django会把这个时间当成UTC时间存储到数据库

2021-09-07 10:37:14 132

原创 Python应用知识点

项目中用到的网络请求图片,并返回图片,记录下import base64import requestsimport osfrom PIL import Image# 头像下载def iconLoad(path): try: resp = requests.get(path, stream=True) # 网络请求图片 image = Image.open(io.BytesIO(resp.content)) # image打开,已转换的字节流图片 imgBytesArr = io

2021-08-13 14:50:33 228

原创 Python之魔术方法

魔术方法python给类和对象提供了大量的内置方法,这些内置方法也称魔法方法。这些魔法方法总是在某种条件下自动触发执行,就像魔法一样。1.__init__方法该方法是用来接收定义类时,类中__new__方法返回的空对象后,为空对象进行初始化的操作,没有返回值。class Magic(): def __init__(self, name): self.name = name def test(self): print(self.name)m =

2021-07-23 15:03:49 129 1

原创 django之处理execl和zip

接收excel@csrf_exemptdef importExecl(request): # Receiving excel if request.method != 'POST': return response.failResponse('Request method exception') try: excel = request.FILES.get('excel', '') if not excel or not marI

2021-07-20 14:09:55 97

原创 Python之模拟数据结构

LRULRU是Least Recently Used的缩写,即最近最少使用,算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.新数据插入到链表头部;2.每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3.当链表满的时候,将链表尾部的数据丢弃。Python模拟简单实现from collections import OrderedDictclass LRUCache: def __init__(self, capacit

2021-07-17 13:50:33 251 1

原创 Python 知识点

可变与不可变对象不可变对象 :int,string,float,tuple,bool,str,frozenset可变对象 :list,dictionary,setmonkey patch1.在运行时替换方法、属性等2. 在不修改第三方代码的情况下增加原来不支持的功能3. 在运行时为内存中的对象增加patch而不是在磁盘的源代码中增加# demo1import timeprint(time.time())def _time(): return 1234time.ti

2021-07-16 16:49:36 190 1

原创 基础面经札记6

1、rabbitmq了解吗(只停留在会用的阶段)2、redis的主从复制原理 (GG)3、jvm内存结构堆:堆是java虚拟机管理内存最大的一块,在虚拟机启动时创建,所有线程共享,堆中的对象永远不会被显式释放,必须由GC回收,所以GC也主要回收堆中的对象实例,我们平常讨论的垃圾回收就是回收堆内存。堆可以处于物理上不连续的空间,可以固定大小,也可以动态扩展,通过参数-Xms和-Xmx两个参数控制堆的最小值和最大值。方法区:方法区也是线程共享的区域,在虚拟机启动时创建,存储每个类的结构,比如:运行时常量

2021-04-11 15:34:49 448

原创 基础面经札记5

某公司面试题1、讲一个项目的难点,以及怎么解决?(讲了实习时候的项目)2、讲一下服务发现、服务注册、负载均衡以及相关实现服务注册 :服务的提供者在中央注册表中注册其服务位置的过程。通常注册其主机和端口,有时还注册认证凭证,协议,版本号和或环境信息。当一个微服务启动的时候,必须主动向服务注册中心注册其服务地址,以供其他微服务查询调用。服务发现 :客户端应用程序查询中央注册表以了解服务位置的过程。注册中心:维护中央注册表的角色被称为服务注册平台或者服务注册中心。负载均衡:当一台服务器的单位时间内的

2021-04-07 17:51:31 228

原创 笔试题卷2

选择1、关于 java 的异常处理机制,以下说法正确的是:A、当某个线程抛出 OutofMemoryError 时,其他线程可能不受影响B、当大量抛出 RuntimeException,不会影响系统的吞吐量C、java.lang.Exception 是 java.lang.Error 的父类D、finally 块代码一定会被执行答案:A解析:A、在程序内存溢出之后,溢出的内存的线程所占的内存会被快速释放,不会影响其它线程的运行。B、当大量抛出运行时异常时,系统肯定存在问题,会影响系统吞吐量

2021-04-05 10:37:15 1060

原创 索引详解

1.什么是索引?1.索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。2.索引一般存储在磁盘的文件中,它是占用物理空间的。3.适当的索引能提高查询效率,过多的索引会影响数据库表的插入和更新功能。2.索引类型数据结构维度B+树索引:所有数据存储在叶子节点,复杂度为O(logn),适合范围查询。哈希索引: 适合等值查询,检索效率高,一次到位。全文索引:MyISAM和InnoDB中都支持使用全文索引,一般在文本类型char,text,varch

2021-03-28 22:35:58 2432

原创 编程练习题(8)

二叉树的最大路径和给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少。这个路径的开始节点和结束节点可以是二叉树中的任意节点 private int maxVal = Integer.MIN_VALUE; public int maxPathSum (TreeNode root) { // write code here if(root == null){ return 0; } help

2021-03-25 11:06:28 117

原创 笔试题卷

单选1.主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300B和500B的有效载荷,第一个段的序列号为200,主机乙正确接收到这两个数据段后,发送给主机甲的确认序列号是A.200;B.500;C800;D.1000答案:D解析:确认序列号=原始序列号+TCP段的长度第一次的确认序列号为200+300=500,第二次确认序列号为500+500=10002.在支持多线程的系统中,进程P创建的若干个线程不能共享的是A.进程P的代码段B.进程P中打开的文件

2021-03-24 19:48:23 3158

原创 唯品会笔试题目

编程题字符串加法输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。要求程序尽可能的高效import java.util.Scanner;public class Main{ public static String add(String a, String b){ int m = a.length() - 1, n = b.length() - 1; StringBuilder res

2021-03-23 16:50:51 1120

原创 shell练习

统计文件的行数写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数示例:假设 nowcoder.txt 内容如下:#include <iostream>using namespace std;int main(){ int a = 10; int b = 100; cout << "a + b:" << a + b << endl; return 0;}你的脚本应当输出:9Bash如下

2021-03-22 11:34:44 268

原创 基础面经札记4

说一下TCP的四次挥手4.为什么四次挥手需要有2MSL等待时间5.当有大量连接建立,但是没有发送数据,服务器会怎么做6.一秒钟之内如果有百万级的请求到达服务器会发生什么7.说一下什么是网络拥塞以及TCP怎么避免网络拥塞8.说一下Java相关的吧,Java中的线程安全你怎么理解的9.Java中保证线程安全有哪些方式10.Java中如果要更新多个变量你会怎么做11.知道Java中的volatile关键字吗,说一下12.什么是内存屏障?13.一道数学概率题:东城有80万人,西城有20万人,一天

2021-03-20 14:55:41 272 1

原创 加密

加密算法对称加密中使用的主要算法有:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法Blowfish:它使用变长的密钥,长度可达448位,运行速度很快非对称加密

2021-03-18 09:05:47 87

原创 金山WPS服务器JAVA开发试卷题目

1.linux系统 load average 返回的三个值,哪一个作为系统长期负载高的参考值比较准确?()A.第一个;B .第二个;C .第三个答案:C解析:load average 定义:linux系统中的Load是对当前CPU工作量的度量。简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内的平均 Load 。如果系统cpu超负荷 load average会大于您机器的cpu数量三种Load值,应该看哪个,通常我们先看15分钟load,如果

2021-03-14 12:26:57 349

原创 基础面经札记3

某公司面试问题1.抽象类与接口区别接口是对动作的抽象,抽象类是对根据的抽象。接口不能实例化;接口只能包含方法声明;接口的成员包括方法,属性,索引器,事件;接口中不能包含常量,字段(域),构造函数、析构函数,静态成员。抽象类可以有构造方法,接口不能有构造方法。抽象类可以有普通成员变量,接口中无;抽象类可以包含非抽象普通方法,接口中所有方法都是抽象的;抽象类中的抽象方法的访问权限可以是public类型和default,接口中的抽象方法只能是public类型, 默认是public

2021-03-09 12:58:09 115

原创 SQL练习(难)

1.获取所有非manager员工当前的薪水情况有一个员工表employees简况如下:有一个,部门员工关系表dept_emp简况如下:有一个部门经理表dept_manager简况如下:有一个薪水表salaries简况如下:获取所有非manager员工薪水情况,给出dept_no、emp_no以及salary,以上例子输出SQL语句如下:select de.dept_no,de.emp_no,s.salaryfrom dept_emp de join employees e on d

2021-03-06 14:32:03 167

原创 SQL练习(中等)

有一个员工表,employees简况如下:有一个部门表,dept_emp简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL

2021-02-24 13:38:10 1583 1

原创 SQL练习(简单)

入门查找最晚入职员工的所有信息建表语句:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL, `birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL,PRIMARY KEY (`emp_no`));

2021-02-18 13:48:48 389 1

原创 剑指Offer题目练习

数组二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public boolean Find(int target, int [][] array) { int row = 0, col = array[0].length - 1; while (row < array.length &&

2021-02-18 10:05:40 282

原创 编程练习题(7)

环形链表给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。Java解法:/* 哈希表 */ /* public boolean

2021-01-20 11:10:40 388

原创 基础面经札记2

1.详述一下路由寻址方式答:1.在数据包中得到目的IP地址,根据IP地址及子网掩码计算目标网络地址;2.根据目标网络地址查找路由表得到下一跳的出口并转发数据包;3.其他路由器根据类似的转发规则直至把数据包转发到目标IP地址所在主机。2.NAT,一般使用的场景有哪些答:NAT:Network Address Translation 网络地址转换(作用就是帮助把内网的IP地址可以转换为公网的IP地址)家庭局域网,公司局域网的网络设备没有公网IP地址如何访问互联网?1,互联网中网络设备互相访问

2021-01-16 10:34:57 384

原创 编程练习题(6)

买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。Java解法:/* 一次遍历 用一个变量记录一个历史最低价格 minprice,就可以假设股票是在那天买的。那么在第 i 天卖出股票能得到的利润就是 prices[i] - minprice。 因此,只需要遍历价格数组一遍,记录历史最低点,然后比较 prices[

2021-01-15 15:51:59 578

原创 编程练习题(5)

交错字符串给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + ... + snt = t1 + t2 + ... + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...提示:a + b 意味着字符串

2021-01-09 14:27:15 190 1

原创 Java面试知识点7

Java有哪些常用容器(集合)?List:存放有序,列表存储,元素可重复。ArrayList:基于数组实现的有序集合;LinkedList:基于链表实现的有序集合;Vector:矢量队列。Set:无序,元素不可重复,底层为hashMap=数组加链表。HashSet:基于hash实现的不重复集合,无序;LinkedHashSet:基于hash实现的不重复集合,有序;SortedSet:可排序不重复集合;NavigableSet:可导航搜索的不重复集合;TreeSet:基于红黑树实现的可排

2021-01-07 09:38:22 181

原创 Java面试知识点6

1.并行是什么意思?并行和并发有什么区别?并行:指两个或两个以上事件或活动在同一时刻发生;如多个任务在多个CPU或CPU的多个核上同时执行,不存在CPU资源的竞争,等待行为。区别:并行是指多个时间在同一个时刻发生;并发指在某时刻只有一个事件在发生,某个时间段由于CPU交替执行,可以发生多个事件;并行没有对CPU资源的抢占;并发执行的线程需要对CPU资源进行抢占;并行执行的线程之间不存在切换, 并发操作系统会根据任务调度系统给线程分配线程的CPU执行时间,线程的执行会进行切换;Java中的多线

2021-01-05 09:45:25 128

原创 Java面试知识点5

1.java中IO流有哪些?输入和输出都是从程序的角度来说:输入流-:数据流向程序输出流-:数据从程序流出;1.按处理单位:字节流和字符流;字节流:一次读入或读出是8位二进制;字符流:一次读入或读出是16位进制,JDK中后缀是Stream是字节流,后缀是Reader,Writer是字符流;2.按功能单位:节点流和处理流;节点流->直接与数据源相连,读入或写出;处理流:与节点流一块使用,在节点流的基础上,再套一层;最根本的四大类:InputStream(字节输入流):FileInputS

2021-01-04 09:30:24 128

原创 Java面试知识点4

1.下面两段代码的区别?short s1 = 1; s1 = s1 + 1;short s1 = 1; s1 += 1;第一段编译报错,s1 + 1 自动升级为int型,int型赋值给s1,需要手动强转第二段隐含类型强转,不会报错。2.switch能否作用在byte,long、String上?早期JDK,switch(expr),expr可以是byte、short、char ,int;JDK1.5开始,引入了枚举(enum),expr可以是枚举了JDK1.7开始,expr可以是字符串(

2020-12-31 09:51:24 153

原创 编程练习题(4)

搜索二维矩阵编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。Java解法:public static boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length, n = matrix[0].length; int i = 0, j = n -1; whi

2020-12-30 10:25:50 556 1

原创 Java面试知识点3

1.java.sql.Date和java.util.Date的区别?java.sql.Date是java.util.Date的子类;java.util是JDK中的日期类,精确到时、分、秒、毫秒;java.sql.date与数据库Date向对应的一个类型,只有日期部分,时分秒都会设置为0,如2020-04-05 00:00:00;要从数据库时间字段取 时、分、秒、毫秒数据,可以使java.sql.Timestamp。2…关于构造方法java类中不写构造方法,编译器会默认提供一个无参构造(即类中的构

2020-12-30 09:21:49 145 1

原创 Java面试知识点2

1.深拷贝和浅拷贝区别是什么?如何实现对象克隆与深拷贝区别:浅拷贝:复制基本类型的属性;引用类型的属性复制,复制栈中的变量和变量指向堆内存中的对象的指针,不复制堆内存中的对象;深拷贝:复制基本类型的属性;引用类型的属性复制,复制栈中的变量和变量指向堆内存中的对象的指针和堆内存中的对象。实现:1.实现Cloneable接口,重写clone()方法;2.不实现Cloneable接口,会报CloneNotSupportedException异常;3.Object的clone()方法是浅拷贝,即如果类

2020-12-29 09:36:40 140

原创 Java面试知识点1

1.JDK 和 JRE 有什么区别?JDK是java的开发工具包,包含各类库和工具JDK->面向->开发人员使用的SDK->用途->1.开发环境 2.运行环境JRE核心的内容就是JVM(java虚拟机)及核心类库JRE->面向->程序使用者>用途->1.开发环境 2.运行环境2.==和equals的区别是什么?=是关系运算符,equals是方法,结果都返回布尔值。= =基本类型比较值是否相等,引用类型比较的是两个引用在内存中的地址是否相同,也就是

2020-12-28 20:14:22 131

原创 java面试知识点(难)

一.Java语言1.HashMap底层原理 (源码必看!!!必看!!!必看!!!)扩展:jdk1.7和1.8有什么改进?为什么长度大于8转换成红黑树?这个8怎么来的?HashMap内部数据结构是由数组+链表,红黑树实现的HashMap初始化new HashMap() 不传值时,默认大小是16,负载因子是0.75,如果传入初始大小k,初始化大小为大于k的2的整数次方,如传入10,大小为16HashMap的哈希函数设计hash函数是先通过key的hashcode,是32位的int值,然后通过hash

2020-12-26 14:07:06 193 1

原创 操作系统面试知识点

三.操作系统1.虚拟内存解决了什么问题?(分页,分段,段页的区别)内存在计算机中的作用很大,计算机所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。用户程序的逻辑地址空间被划分成若干固定大小的区域,称为“页”或者“页面”,相应地,内存物理空间也分成相对应的若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现

2020-12-24 09:56:42 179

空空如也

空空如也

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

TA关注的人

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