cd命令 用来切换目录 ls命令 用以浏览目录下的文件 pwd命令 用来显示查看当前路径 mkdir命令 用来创建目录 rm命令 删除命令
简述线程和进程的区别。进程:是内存中运行的一个应用程序,每个进程存在一个独立的内存空间,进程是系统运行程序的基本单位 线程:是操作系统能够调度的最小单位,是进程中的一个执行单元一个进程至少有一个线程,可以有多个线程
单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 代理模式:为其他对象提供一种代理以控制对这个对象的访问
面向对象中设计模式的六大原则是什么?单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则
int bool str tuple list dict
如何将字符串反转?str 类的常用方法都有那些?使用字符串切片 常用方法: 首字母大写(capitalize) 将字符串中的占位符替换成指定的值(format) 判断是否是字母(isalpha) 判断是否全部都是空格 返回bool(isspace)
单引号、双引号、三引号有什么区别?单引号、双引号:可以表示字符串,可以起到转义的功能 三引号:可以显示多行
三次握手:客户端与服务器开始传送数据 四次挥手:结束客户端与服务器的连接
HTTP 与 HTTPS 协议有什么区别? https协议需要到ca申请证书http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全DDL—数据定义语言 DML—数据操纵语言 DCL—数据控制语言
优点:
索引可以大大提高MySQL的检索速度创建索引可以大大提高系统的性能缺点:
创建索引和维护索引要耗费时间索引需要占物理空间索引需要动态维护,降低了数据的维护速度 Redis常见数据类型有哪些?各自有什么应用场景? 参考:Redis常见数据类型及应用场景 字符串(String):是普通的 set 和 get,做简单的 KV 缓存字符串列表(list):类似 map 的一种结构,可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在 redis 里,然后每次读写缓存的时候,可以就操作 hash 里的某个字段 hset person id 1 hget person name字符串集合(set):是有序列表 可以存储一些列表型的数据结构,类似粉丝列表、文章的评论列表 2.可以通过 lrange 命令,读取某个闭区间内的元素,可以基于 list 实现分页查询,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走哈希(hash):是无序集合,自动去重 #-------操作一个set------- #添加元素 sadd mySet 1 #查看全部元素 smembers mySet #判断是否包含某个值 sismember mySet 3 #删除某个/些元素 srem mySet 1 srem mySet 2 4 #查看元素个数 scard mySet #随机删除一个元素 spop mySet #-------操作多个set------ #将一个set的元素移动到另外一个set smove yourSet mySet 2 #求两set的交集 sinter yourSet mySet #求两set的并集 sunion yourSet mySet #求在yourSet中而不在mySet中的元素 sdiff yourSet mySet
有序的字符串集合(sorted set):是排序的 set,去重但可以排序,写进去的时候给一个分数,自动根据分数排序 zadd board 85 zhangsan zadd board 72 lisi zadd board 96 wangwu zadd board 63 zhaoliu #获取排名前三的用户(默认是升序,所以需要 rev 改为降序) zrevrange board 0 3 #获取某用户的排名 zrank board zhaoliu
Redis有哪几种数据淘汰策略? Volatile-lru:从设置了过期时间的数据集中,选择最近最少使用的数据释放。Allkeys-lru:从数据集中(包括设置过期时间以及未设置过期时间的数据集中),选择最近最少使用的数据释放。Volatile-random:从设置了过期时间的数据集中,随机选择一个数据进行释放。Allkeys-random:从数据集中(包括了设置过期时间以及未设置过期时间的数据集)随机选择一个数据进行入释放。Volatile-ttl:从设置了过期时间的数据集中,选择马上就要过期的数据进行释放。Noeviction:不删除任意数据(但Redis还会根据引用计数器进行释放),这时如果内存不够时,会直接返回错误。//初始化git仓库,并push到远端 git init git remote add origin url git add . //把工作区的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(untracked file),但不包括被删除的文件 //git add -u 仅监控已经被add的文件(tracked file),会将被修改的文件提交到暂存区(git add --update的缩写) //git add -A 删除和没别跟踪的文件(untracked file)都会被添加到暂存区,(git add --all的缩写) git commit -m “程序源代码” git push -u origin master
假设你现在处于 master 分枝,如何切换到新分支 dev 并且将 dev 分枝内容推送到远程仓库 origin ,只需列出所 涉及的命令。 查看当前分支 git branch -a将分支切换到dev git checkout dev将代码pull到本地 git pull把修改的代码在dev分支下提交 git add提交修改信息 git commit -m’add content’将修改的内容推送至远程仓库 git push把代码推送到远程仓库 git push origin master