IT关键词,面试知识问与答
二叉树遍历的三种方式?
遍历是指依次访问⼆叉树中的每个元素。有三种遍历⽅法,分别是前序遍历、
中序遍历和后序遍历。它们是按照访问根节点和⼦节点的先后顺序命名的。
• 前序遍历:先访问根节点,然后访问左⼦树,最后访问右⼦树;
• 中序遍历:先访问左⼦树,然后访问根节点,最后访问右⼦树;
• 后序遍历:先访问左⼦树,然后访问右⼦树,最后访问根节点。
php中单引号和双引号有什么区别?
单引号内部的变量不会执行
双引号会执行
如
$name = 'hello';
echo "the $name";
会输出 the hello
而如果是单引号
$name = 'hello';
echo 'the $name';
会输出 the $name
主要区别就是这个,其他的无所谓,看你自己喜欢了
时序图
1.什么是时序图
2.如何看懂时序图
3.时序图的作用
4.如何绘制时序图
分布式
一个业务分拆多个子业务,部署在不同的服务器上。
分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。
集群
同一个业务,部署在多个服务器上。
小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。
生产环境
开发->测试->上线,其中生产环境也就是通常说的真实环境。
消息队列
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。
socket
我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
User-Agent
告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本。
索引
索引就像一本书的目录,目录越详细越容易定位具体页码。索引也是越详细就越容易定位具体数据。
索引越详细意味着索引自身的数据越多。
–最好的情况是如果那个列具有unique属性,那每一条数据就会有一个索引记录。
–最差的情况是所有的数据都一样,索引只有一条,这一条索引对应了所有的数据。
算法时间复杂度
一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
常数阶O(1),对数阶O(log2n)(以2为底n的对数),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),...,k次方阶O(nk),指数阶O(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。
设每条语句执行一次所需的时间均是单位时间,一个算法的时间耗费就是该算法中所有语句的频度之和。
算法空间复杂度
与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。
1.算法程序所占的空间;
2.输入的初始数据所占的存储空间;
3.算法执行过程中所需要的额外空间。
log2n
LOG2(N)
相当于2的多少次方(立方)等于N
例:LOG2(8)=3
相当于,2的3次方等于8
OpenStack
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
经纬度
东西经,南北纬。
一纬度=110.94公里,北纬35度至49度=?公里南北。一经度=85.276公里,东经73度至96度=?公里东西。
DNS
DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。
举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69。
当我们通过在浏览器的地址栏中键入域名来访问某个网站时,浏览器将首先查找本地的DNS缓存是否拥有该域名所对应的IP地址。如果有,那么浏览器将尝试直接使用该IP地址访问该网站的内容。如果本地DNS缓存中没有该域名所对应的IP地址,那么它将向DNS发送一个请求,以获得该域名所对应的IP并添加到本地DNS缓存中。
组合和聚合
比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象),这种情况叫做组合,反之b所指向的对象还会有另外的引用指向它,这种情况叫聚合。
十六进制AF转为十进制
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
A是10,F是15。转为十进制,10*16+15*1 = 175
框架与库
库是解决某个问题而拼凑出来的一大堆函数与类的集合。
框架则是一个半成品的应用,直接给出一个骨架。写框架能提升自己的架构能力。
剖析别人框架的特点,写出属于自己的框架。
rem 与 px的区别
px:各个终端统一大小,简单明了,未尝不可!
rem:大屏幕显示大字体,小屏幕显示小字体,渐进增强视觉感。
冒泡的过程
事件冒泡的过程是:a --> div --> body 。a冒泡到div冒泡到body。
include、require的区别
incluce在用到时加载
require在一开始就加载
_once后缀表示已加载的不加载
include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
dos系统与微软的关系
DOS=disk operating system, 磁盘操作系统
MS=MICRO SOFT 美国微软公司
MS-DOS是微软公司的磁盘操作系统
DOS(磁盘操作系统)除了微软的外,还有其他公司的产品。如DR-DOS、PC-DOS、ROM-DOS、FreeDOS等,但MS-DOS是最多人使用也是最实用的一种,不过现在基本上见到不其他公司的产品了,都被微软垄断了。
1980年,西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编写出了86-DOS操作系统。1981年7月,微软以五万美元的代价向西雅图公司购得本产品的全部版权,并将它更名为MS-DOS。
最基本的MS-DOS系统由一个基于MBR的BOOT引导程序和三个文件模块组成。这三个模块是输入输出模块(IO.SYS)、文件管理模块(MSDOS.SYS)及命令解释模块。除此之外,微软还在零售的MS-DOS系统包中加入了若干标准的外部程序(即外部命令),这才与内部命令(即由解释执行的命令)一同构建起一个在磁盘操作时代相对完备的人机交互环境。
IT关键词,面试知识问与答的更多相关文章
- WCF入门教程:WCF基础知识问与答(转)
学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ...
- Python面试快问快答,理论要的就是速度与精准,Python面试题No2
今天的面试题 第1题:python2和python3的range(100)的区别 range()函数的含义 range函数是一个用来创建算数级数序列的通用函数,返回一个[start, start + ...
- 当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮
前言 今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的. 对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的 ...
- 最近找java实习面试被问到的东西总结(Java方向)
时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻 ...
- linux驱动工程面试必问知识点
linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...
- 微信小程序参数二维码6问6答
微信小程序参数二维码[基础知识篇],从6个常见问题了解小程序参数二维码的入门知识. 1.什么是小程序参数码? 微信小程序参数二维码:针对小程序特定页面,设定相应参数值,用户扫描后进入相应的页面. 2. ...
- 剑指Offer——中国银行面试知识储备
剑指Offer--中国银行面试知识储备+面试内容 事件介绍 时间:2016.11.23 08:30 地点:北京市海淀区永丰路299号南门(中国银行软件中心) 事件:中国银行面试(中英文面试) 注意事项 ...
- 图解Java线程的生命周期,看完再也不怕面试官问了
文章首发自个人微信公众号: 小哈学Java https://www.exception.site/java-concurrency/java-concurrency-thread-life-cycle ...
- JAVA程序员面试30问(附带答案)
第一,谈谈final, finally, finalize的区别. 最常被问到.final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能 ...
随机推荐
- C++程序开发的基本过程
前两天说去一家小公司实习,被他们的一个技术员工的一个问题问到了,问的我当时都没有反应过来,回来后突然发现这个问题我会啊 ,只是当时没想到这么浅显.现在总结下: C++程序开发的基本过程: 1)编辑 开 ...
- js---通过arguments来获取指定参数
通过访问arguments对象的length属性可以获取有多少个参数传递给了函数. 如:每次被调用的时候,输出传入其中的参数个数 function doAdd(){ alert(arguments.l ...
- Javassist介绍
要想将编译时不存在的类在运行时动态创建并加载,通常有两种策略: 1. 动态编译 2. 动态生成二进制字节码(.class) 对于第二种策略,实际上已经有诸多比较成熟的开源项目提供支持,如CGLib.A ...
- Android学习——控件ListView的使用
一.ListView的简单用法 首先新建一个ListViewTest项目,并让Android Studio自动创建好活动.然后修改activity_main.xml中的代码,如下: <?xml ...
- LruCache缓存机制
LruCache: Android提供的使用了(Least Recently Used)近期最少使用算法的缓存类 内部基于LinkedHashMap实现 实现这个主要需要重写 构造时需要确定Cache ...
- 优动漫PAINT(clip studio paint)怎么画一幅水墨竹子图
今天小编分享使用优动漫PAINT绘制一个水墨竹子教程,绘画的过程中我只用到了两个笔刷,即钢笔模式下的“美术字”和“效果线专用”,并且全程鼠标绘制哦,所以生疏的笔触效果大家见谅,没有数位板的小伙伴不妨试 ...
- 06 Django组件-cookie与session
一.会话跟踪技术 1.什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而 ...
- USACO 2008 Nov Gold 3.Light Switching 线段树
Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; ...
- 解决远程登录mysql命令行无法登录问题
由于甲骨文公司收购了mysql,mysql有商业化的趋势,所以想尝试安装下mariadb . yum install mariadb-server mariadb systemctl start ma ...
- Nginx1.14.2新增tcp/udp代理stream
[root@rhel nginx-1.12.1]# ./configure --help --help print this message --prefix=PATH set installatio ...