面试集锦
请谈一下你对网页标准和标准制定机构重要性的理解。
知道的网页制作会用到的图片格式有哪些?
在 css/js 代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次 js 请求一般情况下有哪些地方会有缓存处理?
一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化
为什么要初始化样式?
Doctype 的作用?严格模式与混杂模式的区别?
html 常见兼容性问题?
CSS 中 link 和@import 的区别是:
Sass、LESS 是什么?大家为什么要使用他们?
有那些行内元素、有哪些块级元素?
你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏品 字布局 如何设计?
如何在 HTML5 页面中嵌入音频?
如何在 HTML5 页面中嵌入视频?
cookie 在浏览器和服务器间来回传递。 sessionStorage 和 localStorage 区别
JS
1.例举 3 种强制类型转换和 2 种隐式类型转换?
2.split() 、join() 的区别
3.数组方法 pop() push() unshift() shift()
4.事件绑定和普通事件有什么区别
5.IE 和 DOM 事件流的区别
IE 和标准下有哪些兼容性的写法
6.call 和 apply 的区别
7.Worker 继承 Person 的方法
8.如何阻止事件冒泡和事件默认行为
9.JavaScript 是一门什么样的语言,它有哪些特点?
10.如何判断某变量是否为数组数据类型?
11.希望获取到页面中所有的 checkbox 怎么做?
12.当一个 DOM 节点被点击时候,我们希望能够执行一个函数,应该怎么做?
13.输出今天的日期,以 YYYY-MM-DD 的方式
14.将字符串”{$id}{$name}”中的{$id}替换成 10,name}替换成 Tony (使用正则表达式)
15.用 js 实现随机选取 10–100 之间的 10 个数字,存入一个数组,并排序。
16.把两个数组合并,并删除第二个元素。
17.怎样添加、移除、移动、复制、创建和查找节点(原生 JS,实在基础,没细写每一步)
18.有这样一个 URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段 JS 程序提取 URL 中的各个 GET 参数(参数名和参数个数不确定),将其按 key-value 形式返回到一个 json 结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}。
19.正则表达式构造函数 var reg=new RegExp(“xxx”)与正则表达字面量 var reg=//有什么不同?匹配邮箱的正则表达式?
20.写一个 function,清除字符串前后的空格。(兼容所有浏览器)
请谈一下你对网页标准和标准制定机构重要性的理解。
网页标准和标准制定机构都是为了能让 web 发展的更‘健康’,开发者遵循统一的标准,降低开发难度,开发成本,SEO 也会更好做,也不会因为滥用代码导致各种 BUG、安全问题,最终提高网站易用性。
知道的网页制作会用到的图片格式有哪些?
png-8,png-24,jpeg,gif,svg。
但是上面的那些都不是面试官想要的最后答案。面试官希望听到是 Webp。(是否有关注新技术,新鲜事 物)
科普一下 Webp:WebP 格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有 JPEG 的 2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay 等知名网站已经开始测试并使用 WebP 格式。
在质量相同的情况下,WebP 格式图像的体积要比 JPEG 格式图像小 40%
在 css/js 代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次 js 请求一般情况下有哪些地方会有缓存处理?
答案:dns 缓存,cdn 缓存,浏览器缓存,服务器缓存。
一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化
图片懒加载,在页面上的未可视区域可以添加一个滚动条事件,判断图片位置与浏览器顶端的距离与页面的距离,如果前者小于后者,优先加载
如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先下载。
如果图片为 css 图片,可以使用 CSSsprite,SVGsprite,Iconfont、Base64 等技术。
如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的特别厉害的缩略图,以提高用户验。
如果图片展示区域小于图片的真实大小,则因在服务器端根据业务需要先行进行图片压缩,图片压缩后大小与展示一致。
为什么要初始化样式?
用于浏览器默认 css 样式的存在并且不同浏览器对相同 HTML 标签的默认样式不同,若不初始化会造成不同浏览器之间的显示差异。
Doctype 的作用?严格模式与混杂模式的区别?
,文档声明;用于告知浏览器该以何种模式来渲染文档
严格模式下:页面排版及 JS 解析是以该浏览器支持的最高标准来执行
混杂模式:不严格按照标准执行,主要用来兼容旧的浏览器,向后兼容
html 常见兼容性问题?
1.双边距 BUG float 引起的 使用 display
2.3 像素问题 使用 float 引起的 使用 dislpay:inline -3px
3.超链接 hover 点击后失效 使用正确的书写顺序 link visited hover active
4.IE z-index 问题 给父级添加 position:relative
5.Png 透明 使用 js 代码 改
6.Min-height 最小高度 !Important 解决’
7.select 在 ie6 下遮盖 使用 iframe 嵌套
8.为什么没有办法定义 1px 左右的宽度容器(IE6 默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
9.IE5-8 不支持 opacity,解决办法:
.opacity {
opacity: 0.4
filter: alpha(opacity=60); /* for IE5-7 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
/* for IE8*/
}
10. IE6 不支持 PNG 透明背景,解决办法: IE6 下使用 gif 图片
CSS 中 link 和@import 的区别是:
Link 属于 html 标签,而@import 是 CSS 中提供的
@import 有执行效率问题,它会打破浏览器并行加载资源,导致加载页面速度变慢。尽量不要使用@import
Sass、LESS 是什么?大家为什么要使用他们?
他们是 CSS 预处理器。他是 CSS 上的一种抽象层。他们是一种特殊的语法/语言编译成 CSS。
例如 Less 是一种动态样式语言. 将 CSS 赋予了动态语言的特性,如变量,继承,运算, 函数. LESS 既可以在客户端上运行 (支持 IE 6+, Webkit, Firefox),也可一在服务端运行 (借助 Node.js)。
为什么要使用它们?
结构清晰,便于扩展。
可以方便地屏蔽浏览器私有语法差异。这个不用多说,封装对浏览器语法差异的重复处理,减少无意义的机械劳动。
可以轻松实现多重继承。
完全兼容 CSS 代码,可以方便地应用到老项目中。LESS 只是在 CSS 语法上做了扩展,所以老的 CSS代码也可以与 LESS 代码一同编译。
有那些行内元素、有哪些块级元素?
1.内联元素(inline element
a – 锚点
abbr – 缩写
acronym – 首字
b – 粗体(不推荐)
big – 大字体
br – 换行
em – 强调
font – 字体设定(不推荐) i – 斜体
img – 图片
input – 输入框
label – 表格标签
s – 中划线(不推荐)
select – 项目选择
small – 小字体文本
span – 常用内联容器,定义文本内区块
strike – 中划线
strong – 粗体强调
sub – 下标
sup – 上标
textarea – 多行文本输入框
tt – 电传文本u – 下划线
var – 定义变量
2、块级元素
address – 地址
blockquote – 块引用
center – 举中对齐块
dir – 目录列表
div – 常用块级容易,也是 css layout 的主要标签
dl – 定义列表
fieldset – form 控制组
form – 交互表单
h1 – 大标题
h2 – 副标题
h3 – 3 级标题
h4 – 4 级标题
h5 – 5 级标题
h6 – 6 级标题
hr – 水平分隔线
isindex – input prompt
menu – 菜单列表
noframes – frames 可选内容,(对于不支持 frame 的浏览器显示此区块内容)
noscript – )可选脚本内容(对于不支持 script 的浏览器显示此内容
ol – 排序表单
p – 段落
pre – 格式化文本
table – 表格
ul – 非排序列表
你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏品 字布局 如何设计?
* 首先划分成头部、body、脚部;。。。。。
* 实现效果图是最基本的工作,精确到 2px;
与设计师,产品经理的沟通和项目的参与
做好的页面结构,页面重构和用户体验
处理 hack,兼容、写出优美的代码格式
针对服务器的优化、拥抱 HTML5。
如何在 HTML5 页面中嵌入音频?
HTML 5 包含嵌入音频文件的标准方式,支持的格式包括 MP3、Wav 和 Ogg:
Your browser does'nt support audio embedding feature.
如何在 HTML5 页面中嵌入视频?
和音频一样,HTML5 定义了嵌入视频的标准方法,支持的格式包括:MP4、WebM 和 Ogg:
Your browser does'nt support video embedding feature.
cookie 在浏览器和服务器间来回传递。 sessionStorage 和 localStorage 区别
sessionStorage 和 localStorage 的存储空间更大;
sessionStorage 和 localStorage 有更多丰富易用的接口;
sessionStorage 和 localStorage 各自独立的存储空间;
JS
1.例举 3 种强制类型转换和 2 种隐式类型转换?
强制(parseInt(),parseFloat(),Number())
隐式(== ,!!)
2.split() 、join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
3.数组方法 pop() push() unshift() shift()
push()尾部添加 pop()尾部删除
unshift()头部添加 shift()头部删除
map() : 遍历数组中的元素, 返回一个新数组(包含回调函数返回的数据)
filter():遍历数组中的元素, 返回一个新数组(包含回调函数返回 true 的元素
4.事件绑定和普通事件有什么区别
普通添加事件的方法:
var btn = document.getElementById("hello");
btn.onclick = function(){
alert(1);
}
btn.onclick = function(){
alert(2);
}
执行上面的代码只会 alert 2
事件绑定方式添加事件:
var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
alert(1);
},false);
btn.addEventListener("click",function(){
alert(2);
},false);
执行上面的代码会先 alert 1 再 alert 2
普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)
方式添加事件可以添加多个。
addEventListener 不兼容低版本 IE
普通事件无法取消
addEventLisntener 还支持事件冒泡+事件捕获
5.IE 和 DOM 事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加 on
4.this 指向问题
IE 和标准下有哪些兼容性的写法
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target
6.call 和 apply 的区别
功能一样, 都是将当前函数作为指定对象的方法执行, 即函数中的 this 是指定对象
call(thisObj,arg1,arg2...) //将所有参数一个一个传递进去
apply(thisObj,[argArray]) //将所有参数放在数组中传入
7.Worker 继承 Person 的方法
//使用构造函数+原型的组合模式
function Person( age, name ){
this.age = age;
this.name = name;
}
Person.prototype.show = function(){
alert('父级方法');
}
function Worker(age,name,job){
Person.apply( this, arguments);
this.job = job;
}
Worker.prototype = new Person();
var Person = new Person(14,'张三 ');
var Worker = new Worker (25,'李四','程序员');
8.如何阻止事件冒泡和事件默认行为
//阻止事件冒泡
if(typeof ev.stopPropagation=='function') { //标准的
ev.stopPropagation();
} else { //非标准 IE
window.event.cancelBubble = true;
}
//阻止事件默认行为
return false
9.JavaScript 是一门什么样的语言,它有哪些特点?
javaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。JavaScript 兼容于 ECMA 标准,因此也称为 ECMAScript。
基本特点
1. 是一种解释性脚本语言(代码不进行预编译)。
2. 主要用来向 HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3. 可以直接嵌入 HTML 页面,但写成单独的 js 文件有利于结构和行为的分离。
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如 Windows、Linux、Mac、Android、iOS 等)。
10.如何判断某变量是否为数组数据类型?
if(typeof Array.isArray==="undefined")
{Array.isArray = function(arg){
return Object.prototype.toString.call(arg)==="[object Array]"
};
}
11.希望获取到页面中所有的 checkbox 怎么做?
var domList = document.getElementsByTagName(‘input’)
var checkBoxList = [];
var len = domList.length; //缓存到局部变量
for (var i=0;i
12.当一个 DOM 节点被点击时候,我们希望能够执行一个函数,应该怎么做?
直接在 DOM 里绑定事件:
在 JS 里通过 onclick 绑定:xxx.onclick = test通过事件添加进行绑定:addEventListener(xxx, ‘click’, test)
那么问题来了,Javascript 的事件流模型都有什么?
“事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播
“事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的
“DOM 事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡
13.输出今天的日期,以 YYYY-MM-DD 的方式
var d = new Date();
// 获取年,getFullYear()返回 4 位的数字
var year = d.getFullYear();
// 获取月,月份比较特殊,0 是 1 月,11 是 12 月
var month = d.getMonth() + 1;
// 变成两位
month = month < 10 ? '0' + month : month;
// 获取日
var day = d.getDate();
day = day < 10 ? '0' + day : day;
alert(year + '-' + month + '-' + day);
14.将字符串”{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲ {name}”中的{$id}替换成 10,name}替换成 Tony (使用正则表达式)
"{$id} {$id}_{$name} ".replace(/{\$id}/g,'10').replace(/{\$name}/g, 'Tony');
15.用 js 实现随机选取 10–100 之间的 10 个数字,存入一个数组,并排序。
function randomNub(aArray, len, min, max) {
if (len >= (max - min)) {
return '超过' + min + '-' + max + '之间的个数范围' +(max - min - 1) + '个的总数';
}if (aArray.length >= len) {
aArray.sort(function(a, b) {
return a - b
});
return aArray;
}
var nowNub = parseInt(Math.random() * (max - min - 1)) +(min + 1);
for (var j = 0; j < aArray.length; j++) {
if (nowNub == aArray[j]) {
randomNub(aArray, len, min, max);
return;
}
}
aArray.push(nowNub);
randomNub(aArray, len, min, max);
return aArray;
}
var arr=[];
randomNub(arr,10,10,100);
console.log(arr)
16.把两个数组合并,并删除第二个元素。
var array1 = ['a','b','c'];
var bArray = ['d','e','f'];
var cArray = array1.concat(bArray);
cArray.splice(1,1);
17.怎样添加、移除、移动、复制、创建和查找节点(原生 JS,实在基础,没细写每一步)
1)创建新节点
createDocumentFragment() //创建一个 DOM 片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
2)添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的 Name 属性的值
getElementById() //通过元素 Id,唯一性
18.有这样一个 URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段 JS 程序提取 URL 中的各个 GET 参数(参数名和参数个数不确定),将其按 key-value 形式返回到一个 json 结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}。
function serilizeUrl(url) {
var urlObject = {};
if (/\?/.test(url)) {
var urlString = url.substring(url.indexOf("?") + 1);
var urlArray = urlString.split("&");
for (var i = 0, len = urlArray.length; i < len; i++) {
var urlItem = urlArray[i];
var item = urlItem.split("=");
urlObject[item[0]] = item[1];
}
return urlObject;
}
return null;
}
19.正则表达式构造函数 var reg=new RegExp(“xxx”)与正则表达字面量 var reg=//有什么不同?匹配邮箱的正则表达式?
当使用 RegExp()构造函数的时候,不仅需要转义引号(即\”表示”),并且还需要双反斜杠(即\\表示一个\)。使用正则表达字面量的效率更高。
邮箱的正则匹配:
var regMail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/;
20.写一个 function,清除字符串前后的空格。(兼容所有浏览器)
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+/, "").replace(/\s+$/,"");
}
}
//测试
var str = " \t\n test string ".trim();
alert(str == "test string"); // alerts "true"
你可能感兴趣的:(面试集锦)
Windows下的TCP UDP网络调试工具-NetAssist以及Linux下的nc网络调试工具_tcp网络调试工具(1)
2401_83947434
程序员 运维 学习 面试
为了做好运维面试路上的助攻手,特整理了上百道【运维技术栈面试题集锦】,让你面试不慌心不跳,高薪offer怀里抱!这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。本份面试集锦涵盖了174道运维工程师面试题128道k8s面试题108道shell脚本面试题200道Linux面试题51道docker面试题35道Je
2024年最新2024整理 iptables防火墙学习笔记大全_modepro iptables(1),2024年最新含BATJM大厂
2024spring
程序员 学习 笔记
为了做好运维面试路上的助攻手,特整理了上百道【运维技术栈面试题集锦】,让你面试不慌心不跳,高薪offer怀里抱!这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。本份面试集锦涵盖了174道运维工程师面试题128道k8s面试题108道shell脚本面试题200道Linux面试题51道docker面试题35道Je
面试集锦
Gxy_8c77
一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。用Java写一个冒泡排序算法描述一下链式存储结构。如何遍历一棵二叉树?倒排一个LinkedList。用Java写一个递归遍历目录下面的所有文件。二、Java基础接口与抽象类的区别?Java中的异常有哪几类?分别怎么使用?常用的集合类有哪些?比如List如何排序?ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区
前端面试集锦(DOM HTTP 框架(Vue))
土豆片片
前端 前端 面试 http
DOM事件委托参考答案:简易版(有缺陷没有考虑子元素):bug在于,如果用户点击的是li里面的span,就没法触发fn,这显然不对ul.addEventListener(‘click’,function(e){if(e.target.tagName.toLowerCase()===‘li’){fn()//执行某个函数//console.log(‘您点击了li’)}})。高级版:思路是点击span后
前端面试集锦(HTML CSS 原生JS )
土豆片片
前端 前端 面试 html
2020年,即将到来,金三银四面试黄金季,一定要抓住。本博客总结常见的面试题,查漏补缺,希望对你有所帮助。技巧遇到比较抽象的问题就具体化(举例子),遇到比较具体的题目就抽象化(阐述)。抽象题目搜知乎,代码题目搜Stackoverflow或者博客。『XXX的原理』这种题目一般来说都是说一下源代码的思路,但不需要看源代码,直接看别人总结好的博客即可。(尽量不要使用百度)HTML你是如何理解HTML语义
痛之悟---面试集锦
小草房童鞋
我是调剂学软件工程的,学校里讲的知识很基础,也不全面。今天面试又被虐了!一直有想放弃技术的想法,但是每想到有些人不如我一样找到好工作。因此我就下定决心,还得走技术这条路,不然能干什么呢,现在还没毕业有的是时间来学习。所以这里特意整理遇到的面试题,以备以后用到。一、算法几种常会用到的算法:二、1.你理解的面向对象(经常会被问到)现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书
Java面试集锦:25道线程类相关面试题与答案(一)
Coder编程
Java面试集锦:25道线程类相关面试题与答案(一)(2).png1.线程是什么?进程是什么?二者有什么区别和联系?(1)线程是CPU独立运行和独立调度的基本单位;(2)进程是资源分配的基本单位;是执行着的应用程序两者的联系:进程和线程都是操作系统所运行的程序运行的基本单元。区别:(1)进程具有独立的空间地址,一个进程崩溃后,在保护模式下不会对其它进程产生影响。(2)线程只是一个进程的不同执行路径
python判断素数的几种方式
程序员小芽
python 开发语言 爬虫
文章目录方法一方法二方法三学习资源推荐1.Python学习路线2.Python基础学习01.开发工具02.学习笔记03.学习视频3.Python小白必备手册4.数据分析全套资源5.Python面试集锦01.面试资料02.简历模板素数的定义:素数n只能被1和它本身整除换句话说:素数不能被2~n-1间的任意一个数整除方法一用2~n-1依次做求余运算(优点:容易想到)定义一个标志变量yes#定义一个标志
Java8新特性之面试集锦
JackieGGu
Java java stream lambda 面试
文章目录1.lambda表达式1.1什么是lambda表达式?1.2lambda表达式的重要特征?1.3lambda表达式对域外变量的限制?1.4lambda表达式的优缺点?1.5lambda表达式的使用场景?1.6lambda表达式的实现原理?2.函数式接口2.1什么是函数式接口?2.2Java8中提供的函数式接口有哪些?3.方法引用3.1什么是方法引用?3.2方法引用有哪几种类型?4.接口的默
Android中高级面试题合集,含答案
Android小安
笔记 移动开发 Android面试 Android学习路线 程序员 安卓面试
面试的时候总会遇到一些各种各样的面试题,而且这些面试题很多都是关于平时容易疏忽的理论方面的,所以整理一份Android高级开发工程师面试集锦,对照这些问题进行复习,将会事半功倍。从基础到中级在高级,从Android到java,记录下来有需要的时候多复习复习,也希望能帮到有需要的你。Android部分1、Activity生命周期?2、Service生命周期?3、Activity的启动过程4、Broa
C++面试集锦( 面试被问到的问题 )
kkwant
面试 c++ 问题
原文地址为:C++面试集锦(面试被问到的问题)1.C和C++区别2.const有什么用途主要有三点:1:定义只读变量,即常量2:修饰函数的参数和函数的返回值3:修饰函数的定义体,这里的函数为类的成员函数,被const修饰的成员函数代表不修改成员变量的值3.指针和引用的区别1:引用是变量的一个别名,内部实现是只读指针2:引用只能在初始化时被赋值,其他时候值不能被改变,指针的值可以在任何时候被改变3:
python图片分类源代码_10 种常用 Matplotlib 图的 Python 代码
weixin_39934257
python图片分类源代码
前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“资料”可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。柱状图柱状图有效地传达了项目的排名顺序。但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息。#PrepareData
面试集锦之算法
HerayChen
笔记 面试 算法 前端
算法知识总结本部分主要是笔者在学习算法知识和一些相关面试题所做的笔记,如果出现错误,希望大家指出!目录常用算法和数据结构总结排序冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序基数排序快速排序相对于其他排序效率更高的原因系统自带排序实现稳定性排序面试题目总结树二叉树相关性质满二叉树完全二叉树平衡二叉查找树(AVL)B-树B树数据库索引红黑树Huffman树二叉查找树求解二叉树中两个节点的最近
为什么量化金融要用Python语言?
中年猿人
金融 python 开发语言
文章目录01Python在量化领域的现状02为什么是Python?学习资源推荐1.Python学习路线2.Python基础学习01.开发工具02.学习笔记03.学习视频3.Python小白必备手册4.数据分析全套资源5.Python面试集锦01.面试资料02.简历模板给大家讲讲为啥Python在量化金融方面具有的一些先天的优势。我是一个有10年Java和其它语言开发经验的程序员,最近两三年才开始用
面试集锦之js
HerayChen
笔记 面试 javascript
JavaScript面试知识点总结本部分主要是笔者在复习JavaScript相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出!目录1.介绍js的基本数据类型。2.JavaScript有几种类型的值?你能画一下他们的内存图吗?3.什么是堆?什么是栈?它们之间有什么区别和联系?4.内部属性[[Class]]是什么?5.介绍js有哪些内置对象?6.undefined与undeclared
CopyOnWriteArrayList 面试集锦
罗政
java源码解析 java基础 jdk源码 集合 vector
1.CopyOnWriteArrayList是线程安全List集合,我们看下add方法的实现:先拷贝了【当前集合存储数据的数组】一份副本,然后操作副本,add对象,最后将副本引用赋值给【当前集合存储数据的数组】。在此过程中操作的都是副本,所以别的线程修改此集合不会导致线程安全问题。CopyOnWriteArrayList有几个缺点:1、由于写操作的时候,需要拷贝数组,会消耗内存,如果原数组的内容比
安卓面试总结——JAVA部分
Alex_ecb1
三大特性:封装、继承和多态面试集锦https://www.cnblogs.com/peke/p/7894685.html1.jvm类加载类加载器:“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。双亲委派机制得工作过程:1-类加载器收到类加载的请求;2-把这个请求委托给父加载器去完成,一直向上委托,直到启动类加载器
最新 Java 高频面试集锦,让你“金九银十”轻松斩获offer
java南木
java 面试 开发语言 职场和发展 mysql
你真的会面试吗?每当自己的简历得到反馈,被HR通知面试,这种感觉一定非常好。感觉已经妥妥的,明天就能准备入职了~8过!除了准备好简历,整理好心情,安顿好肠胃,选择好穿搭之外……你一定需要这份必答面试题的答案。古人云“学如逆水行舟,不进则退”。能读到这里的人,我相信都是这个世界上的“有心人”,皇天不负有心人!我相信你现在的每一分耕耘,都会有意想不到的收获。包含的模块本文分为十九个模块,分别是:Jav
后端面试话术集锦第 十九 篇:linux面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 linux unix 服务器 职场和发展 面试 跳槽 运维开发
这是后端面试集锦第十九篇博文——linux面试话术❗❗❗1.登录Linux服务器后你使用的前五个命令是什么?cd命令进到java目录ps-eaf|grepxxx.jar:查看xxx项目的进程kill-9pid:杀死xxx项目的进程history|grepnohup:查找nohup指令,目的是找到启动xxx.jar的记录nohupjava-jarxxx.jar>log.file2>&1&:启动xxx
后端面试话术集锦第 十八 篇:JVM面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 jvm java-ee java 面试 跳槽 求职招聘 职场和发展
这是后端面试集锦第十八篇博文——JVM面试话术❗❗❗1.介绍下JVMJVM主要包括:类加载器(classloader)、执行引擎(exectionengine)、本地接口(nativeinterface)、运行时数据区(Runtimedataarea)类加载器:加载类文件到内存。Classloader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是由执行引擎负责的。执行引擎:负责解释
后端面试话术集锦第 十七 篇:MySQL面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 sql mysql 职场和发展 职场发展 求职招聘 面试 跳槽
这是后端面试集锦第十七篇博文——MySQL面试话术❗❗❗1.解释一下单列索引和联合索引单列索引是指在表的某一列上创建索引。联合索引是在多个列上联合创建索引。单列索引可以出现在where条件的任何位置,而联合索引需要按照一定的顺序来写。在多条件查询的时候,联合索引的效率更高,我们联合索引也最多创建两列。我们创建索引的时候也得考虑到我们这张表的更新频率,如果表里索引比较多的话是比较影响更新速度的,因为
后端面试话术集锦第 十六 篇:java锁面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 java 后端 跳槽 职场和发展 职场发展 面试 线程锁
这是后端面试集锦第十六篇博文——java锁面试话术❗❗❗1.介绍一下乐观锁和悲观锁乐观锁的话就是比较乐观,每次去拿数据的时候,认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制或者CAS算法实现。乐观锁在读操作比较多的场景比较适用,这样可以提高吞吐量,就像数据库提供的write_condition机制,其实都是乐观锁。悲观锁的话就是每次去
后端面试话术集锦第 七 篇:nginx面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 面试 nginx 职场和发展 后端 运维 运维开发 职场发展
这是后端面试集锦第七篇博文——nginx面试话术❗❗❗1.介绍一下nginxNginx是一个高性能的HTTP和反向代理服务器,具有反向代理和负载均衡以及动静分离等功能。我先说说Nginx反向代理吧:反向代理是指以代理服务器来接受用户的请求,然后将请求分发给内部网络上的服务器,并将从服务器上得到的结果返回给用户,此时代理服务器对外就表现为一个反向代理服务器。反向代理总结就一句话就是:代理端代理的是服
前端、后端面试集锦
互联网全栈开发实战
免费专栏 前端 面试 职场和发展 后端 跳槽 职场发展 求职招聘
诸位读者,我们在工作的过程中,经常会因跳槽而面试。你开发能力很强,懂得技术也很多,但由于不知道如何组织面试的话术,从而让自己的面试不理想。面试专栏-前端、后端面试专栏已组织好面试的话术,为你的简历锦上添花,为你的面试添砖加瓦。该专栏的平均质量分是94分:查询专栏主页链接该专栏首先是教你如何做好一份完美的自我介绍,增强你面试的开场白:一份完美的自我介绍其次是后端的面试话术集锦,包括但不限于:spri
后端面试话术集锦第 十五 篇:java线程面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 java 线程池 线程 职场和发展 职场发展 后端 跳槽
这是后端面试集锦第十五篇博文——java线程面试话术❗❗❗1.创建线程的方式首先呢,Thread类本质上是实现了Runnable接口,代表一个线程的实例。所以,我们可以编写一个类,继承Thread类,或者直接实现Runnable接口。然后,再重写下~run方法就行了。启动线程的方式就是调用类里边的start方法。start()方法是一个native方法,它的作用就是启动线程,线程会去执行run()
后端面试话术集锦第 十四 篇:go语言面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 go 面试 跳槽 职场和发展 职场发展 求职招聘 golang
这是后端面试集锦第十四篇博文——go语言面试话术❗❗❗1.go数组、切片、扩容go的数组和切片都是用来存储相同类型的数据集合。数组是存储固定大小的集合,且为值引用。但切片是存储无固定大小的集合,且为引用类型。切片有三个属性,分别为指向指针的数组array,数组长度len,以及容量cap。当切片的len大于cap,会自动扩容,array会指向一个新的数组地址。当cap大于原容量的两倍时,新的容量变为
后端面试话术集锦第 十二 篇:java基础部分面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 面试 java 职场和发展 职场发展 求职招聘 java-ee jvm
这是后端面试集锦第十二篇博文——java基础部分面试话术❗❗❗1.String类中常用的方法split():把字符串分割成字符串数组indexOf():从指定字符提取索引位置trim():去除字符串两端空格replace():替换hashCode():返回此字符串的哈希码subString():截取字符串equals():比较length():获取字符串的长度valueOf():转换为字符串con
后端面试话术集锦第 十 篇:springMVC面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 面试 职场和发展 spring MVC springMVC 职场发展 求职招聘 后端
这是后端面试集锦第十篇博文——springMVC面试话术❗❗❗1.介绍一下springMVCspringmvc是一个视图层框架,通过MVC模型让我们很方便的接收和处理请求和响应。我给你说说他里边的几个核心组件吧:它的核心控制器是DispatcherServlet,他的作用是接收用户请求,然后给用户反馈结果。它相当于一个转发器或中央处理器,控制整个流程的执行,对各个组件进行统一调度,以降低组件之间的
后端面试话术集锦第 十一 篇:mybatis面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 面试 mybatis 职场和发展 java 职场发展 求职招聘 后端
这是后端面试集锦第十一篇博文——mybatis面试话术❗❗❗1.介绍下mybatis,说说它的优缺点是什么?Mybatis是一个半ORM(对象关系映射)的持久层框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程,使用时直接编写原生态sql。优点:基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任
后端面试话术集锦第 八 篇:redis面试话术
互联网全栈开发实战
面试专栏-前端 后端面试 面试 redis 职场和发展 职场发展 求职招聘 后端 运维
这是后端面试集锦第八篇博文——redis面试话术❗❗❗1.介绍一下redisRedis是一个非关系数据库,我们项目中主要用它来存储热点数据的,减轻数据库的压力,单线程纯内存操作,采用了非阻塞IO多路复用机制,就是单线程监听,我们项目中使用springdata-redis来操作redis。我们项目中使用redis的地方很多,比方说首页的热点数据,数据字典里的数据等都用热地说存储来提高访问速度。red
PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
java UI PHP android linux
╔-----------------------------------╗┆
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net .net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOP oracle mysql javaee G4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数 转换函数(核心) 数字函数 通用函数(核心) 字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
Mockito异常测试实例
bijian1013
java 单元测试 mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
GA与量子恒道统计
Bill_chen
JavaScript 浏览器 百度 Google 防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
angular.injector
boyitech
AngularJS AngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
使用Struts2.2.1配置
Chen.H
apache spring Web xml struts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
[职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
oracle连接(join)中使用using关键字
daizj
JOIN oracle sql using
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
C语言学习homework1
dcj3sjt126com
c homework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
Ehcache(02)——ehcache.xml简介
234390216
ehcache ehcache.xml 简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windows PHP unix Microsoft perl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
PO VO DAO DTO BO TO概念与区别
xp9802
java DAO 设计模式 bean 领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持