{$id} {$id}_{$name} ”.replace(/{\$id}/g,’10’).replace(/{\$name}/g, ‘Tony’);
11、为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数escapeHtml,将<, >, &, “进行转义
function escapeHtml(str) {
return str.replace(/[<>”&]/g, function(match) {
switch (match) {
case “<”:
return “<”;
case “>”:
return “>”;
case “&”:
return “&”;
case “\””:
return “"”;
}
});
}
12、foo = foo||bar ,这行代码是什么意思?为什么要这样写?
答案:if(!foo) foo = bar; //如果foo存在,值不变,否则把bar的值赋给foo。
短路表达式:作为”&&”和”||”操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。
13、看下列代码,将会输出什么?(变量声明提升)
var foo = 1;
function(){
console.log(foo);
var foo = 2;
console.log(foo);
}
答案:输出undefined 和 2。上面代码相当于:
var foo = 1;
function(){
var foo;
console.log(foo); //undefined
foo = 2;
console.log(foo); // 2;
}
函数声明与变量声明会被JavaScript引擎隐式地提升到当前作用域的顶部,但是只提升名称不会提升赋值部分。
14、用js实现随机选取10–100之间的10个数字,存入一个数组,并排序。
var iArray = [];
funtion getRandom(istart, iend){
var iChoice = istart - iend +1;
return Math.floor(Math.random() * iChoice + istart;
}
for(var i=0; i<10; i++){
iArray.push(getRandom(10,100));
}
iArray.sort();
15、把两个数组合并,并删除第二个元素。
var array1 = ['a','b','c'];
var bArray = ['d','e','f'];
var cArray = array1.concat(bArray);
cArray.splice(1,1);
16、请实现,鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)
alert标签名
b
function WClassName(className){
if(document.getElementsByClassName){
return document.getElementsByClassName(className);
}else{
var tag= document.getElementsByTagName("*");
var lengths=tag.length;
var divs=[];
for (var i=0; i
if(tag[i].className==className){
divs.push(tag[i])
}
}
return divs;
}
}
window.οnlοad=function(){
var tagObj=WClassName('alert');
for(var i=0,max=tagObj.length;i
tagObj[i].οnclick=function(){
alert(this.tagName);
}
}
}
方法2:
alert标签名
b
function elementName(evt){
evt = evt|| window.event; // IE: window.event
// IE用srcElement获取事件源,而FF用target获取事件源
var selected = evt.target || evt.srcElement;
alert(selected.tagName);
}
window.onload = function(){
var el =document.getElementsByTagName('body');
el[0].onclick = elementName;
}
17、请指出以下代码的性能问题,并进行优化。
var info="淘家趣(www.taojiaqu.com)是一个关注潮流的资讯类购物网站。";
info+="提供新鲜好玩的家装资讯,电子科技,家趣产品。";
info+="精选的趣家商品,创意的家趣装修。";
info+="淘-趣家优品,享-生活乐趣。";
info=info.split(",");
for(var i=0 in info){
alert(info[i]);
};
更改后:
火狐测试后,平均时间块2-3毫秒,有可以改进的还望指出...
1.字符串相加效率比较慢
2.考虑到代码要的效果,可以用数组直接实现,省去 info.split()
var info=new Array();
var info[0]="淘家趣(www.taojiaqu.com)是一个关注潮流的资讯类购物网站。提供新鲜好玩的家装资讯";
var info[1]="电子科技,家趣产品。精选的趣家商品";
var info[2]="创意的家趣装修。淘-趣家优品";
var info[3]="淘-趣家优品,享-生活乐趣。";
for(var i=0,max=info.length;i
alert(info[i]);
}
18、请给出异步加载js方案,不少于两种。
默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。
1.defer(只支持IE)
alert('taojiaqu');
2.async规定一旦脚本可用,则会异步执行,只适用于外部脚本
3.创建script,插入到DOM中,加载完毕后callBack
alert标签名
function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
loadScript('http://www.taojiaqu.com/resource/public/jquery/jquery-1.11.2.min.js',function(){
alert('ok');
})
19、请设计一套方案,用于确保页面中js加载完全。
alert标签名
//加载完成后执行回调
function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
loadScript('http://www.taojiaqu.com/resource/public/jquery/jquery-1.11.2.min.js',function(){
alert('ok');
})
20、对 string 对象进行扩展,使其具有删除前后空格的方法。
1.用prototype添加方法
String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
2.利用 substring() 函数
String.prototype.deletSpace = function(){
var str = this; //提取需要操作的字符串
while(str[0] == " "){ //删除前面的空格
str = str.substring(1);
}
while(str[str.length - 1] == " "){ //删除后面的空格
str = str.substring(0,str.length-1);
}
return str;
}
21、完成一个正则表达式,验证用户是否输入正确的身份证号码。
var string='35021119920102353X';
var stringExp=new RegExp(/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/);
alert(stringExp.test(string)); //true
//15位或18位,如果是15位,必需全是数字
//如果是18位,最后一位可以是数字或字母Xx,其余必需是数字
22、.写个函数获取非行间样式。
function getStyle(obj,attr){ //获取非行间样式,obj是对象,attr是值
if(obj.currentStyle){ //针对ie获取非行间样式
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr]; //针对非ie
};
}
23、js创建对象的几种方式。
第一种模式:工厂方式
var lev=function(){ return "脚本之家"; };
function Parent(){
var Child = new Object();
Child.name="脚本";
Child.age="4";
Child.lev=lev;
return Child;
};
var x = Parent();
alert(x.name);
alert(x.lev());
第二种模式:构造函数方式
var lev=function(){ return "脚本之家"; };
function Parent(){
this.name="脚本";
this.age="30";
this.lev=lev;
};
var x =new Parent();
alert(x.name);
alert(x.lev());
第三种模式:原型模式
var lev=function(){
return "脚本之家";
};
function Parent(){ };
Parent.prototype.name="李小龙";
Parent.prototype.age="30";
Parent.prototype.lev=lev;
var x =new Parent();
alert(x.name);
alert(x.lev());
第四种模式:混合的构造函数,原型方式(推荐)
function Parent(){
this.name="脚本";
this.age=4;
};
Parent.prototype.lev=function(){
return this.name;
};
var x =new Parent();
alert(x.lev());
第五种模式:动态原型方式
function Parent(){
this.name="脚本";
this.age=4;
if(typeof Parent._lev=="undefined"){
Parent.prototype.lev=function(){ return this.name; } Parent._lev=true; }
};
var x =new Parent();
alert(x.lev());
24、如何在页面上实现一个圆形的可点击区域?
(1)map+area或者svg
(2)border-radius
(3)纯js实现 需要求一个点在不在圆上简单算法、获取鼠标坐标等等
25、js操作获取和设置cookie
//创建cookie
function setCookie(name, value, expires, path, domain, secure) {
var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value);
if (expires instanceof Date) {
cookieText += '; expires=' + expires;
}
if (path) {
cookieText += '; expires=' + expires;
}
if (domain) {
cookieText += '; domain=' + domain;
}
if (secure) {
cookieText += '; secure';
}
document.cookie = cookieText;
}
//获取cookie
function getCookie(name) {
var cookieName = encodeURIComponent(name) + '=';
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if (cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(';', cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
return cookieValue;
}
//删除cookie
function unsetCookie(name) {
document.cookie = name + "= ; expires=" + new Date(0);
}
26、请写出js内存泄漏的问题。
在IE下的JS编程中,以下的编程方式都会造成即使关闭IE也无法释放内存的问题,下面分类给出:
1、给DOM对象添加的属性是一个对象的引用。范例:
var MyObject = {};
document.getElementById('myDiv').myProp = MyObject;
解决方法:
在window.onunload事件中写上: document.getElementById(‘myDiv’).myProp = null;
2、DOM对象与JS对象相互引用。范例:
function Encapsulator(element) {
this.elementReference = element;
element.myProp = this;
}
new Encapsulator(document.getElementById('myDiv'));
解决方法:
在onunload事件中写上: document.getElementById(‘myDiv’).myProp = null;
3、给DOM对象用attachEvent绑定事件。范例:
function doClick() {}
element.attachEvent("onclick", doClick);
解决方法:
在onunload事件中写上: element.detachEvent(‘onclick’, doClick);
4、从外到内执行appendChild。这时即使调用removeChild也无法释放。范例:
var parentDiv = document.createElement("div");
var childDiv = document.createElement("div");
document.body.appendChild(parentDiv);
parentDiv.appendChild(childDiv);
解决方法:
从内到外执行appendChild:
var parentDiv = document.createElement("div");
var childDiv = document.createElement("div");
parentDiv.appendChild(childDiv);
document.body.appendChild(parentDiv);
5、反复重写同一个属性会造成内存大量占用(但关闭IE后内存会被释放)。范例:
for(i = 0; i < 5000; i++) {
hostElement.text = "asdfasdfasdf";
}
这种方式相当于定义了5000个属性!
解决方法:
其实没什么解决方法~~~就是编程的时候尽量避免出现这种情况咯~~
27、事件绑定和普通事件有什么区别?
事件绑定就是针对dom元素的事件,绑定在dom元素上
普通事件即为非针对dom元素的事件;
例如:
普通事件
var btn = document.getElementById("hello");
btn.onclick = function(){
alert(1);
};
btn.onclick = function(){
alert(2);
}; //这个事件只会弹出2;
事件绑定
var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
alert(1);
},false);
btn.addEventListener("click",function(){
alert(2);
},false); //这个事件首先会弹出1,然后在弹出2;
28、用递归方式写个长度为n的斐波纳契数列
①function febArr(n){
if(n<2){
return n;
}else{
return febArr(n-1)+febArr(n-2)
}
}
②function febArr(n){
var arr=[];
for(var i=0;i<=n;i++){
if(i==0||i==1){
arr[i]=i;
}else{
arr[i]=arr[i-1]+arr[i-2];
}
}
return arr[n];
}
29、 for(var i=0;i<5;i++){
setTimeout(function(){console.log(i)},i*1000);
}
输出(5,5,5,5,5)
如果想要输出(0,1,2,3,4),代码为:
for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){console.log(i)},i*1000)
})(i)
}
30、统计字符串”aaaabbbccccddfgh”中字母个数或统计最多字母数。
var str = "aaaabbbccccddfgh";
var obj = {};
for(var i=0;istr.length;i++){
var v = str.charAt(i);
if(obj[v] & obj[v].value == v){
obj[v].count = ++ obj[v].count;
}else{
obj[v] = {};
obj[v].count = 1;
obj[v].value = v;
}
}
for(key in obj){
document.write(obj[key].value +'='+obj[key].count+' '); // a=4 b=3 c=4 d=2 f=1 g=1 h=1
}
31、写一个function,清除字符串前后的空格。(兼容所有浏览器)
function trim(str) {
if (str & typeof str === "string") {
return str.replace(/(^s*)|(s*)$/g,""); //去除前后空白符
}
}
32、var numberArray = [3,6,2,4,1,5]; (考察基础API)
1) 实现对该数组的倒排,输出[5,1,4,2,6,3];(reverse())
2) 实现对该数组的降序排列,输出[6,5,4,3,2,1]
function combo(msg){
var arr=msg.split("-");
arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
}
msg=arr.join("");
return msg;
}
33、已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”。
function combo(msg){
var arr=msg.split("-");
arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
}
msg=arr.join("");
return msg;
}
34、看下列代码输出为何?解释原因。
var a;
alert(typeof a); // undefined
alert(b); // 报错
解释:Undefined是一个只有一个值的数据类型,这个值就是“undefined”,在使用var声明变量但并未对其赋值进行初始化时,这个变量的值就是undefined。而b由于未声明将报错。注意未申明的变量和声明了未赋值的是不一样的。
35、看下列代码,输出什么?解释原因。
var a = null;
alert(typeof a); //object
解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回“object”
。
36、看下列代码,输出什么?解释原因。
var undefined;
undefined == null; // true
1 == true; // true
2 == true; // false
0 == false; // true
0 == ''; // true
NaN == NaN; // false
[] == false; // true
[] == ![]; // true
undefined与null相等,但不恒等(===)
一个是number一个是string时,会尝试将string转换为number
尝试将boolean转换为number,0或1
尝试将Object转换成number或string,取决于另外一个对比量的类型
所以,对于0、空字符串的判断,建议使用 “===” 。“===”会先判断两边的值类型,类型不匹配时为false。
37、实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
// 方法一:
Object.prototype.clone = function(){
var o = this.constructor === Array ? [] : {};
for(var e in this){
o[e] = typeof this[e] === "object" ? this[e].clone() : this[e];
}
return o;
}
//方法二:
/**
* 克隆一个对象
* @param Obj
* @returns
*/
function clone(Obj) {
var buf;
if (Obj instanceof Array) {
buf = []; //创建一个空的数组
var i = Obj.length;
while (i--) {
buf[i] = clone(Obj[i]);
}
return buf;
}else if (Obj instanceof Object){
buf = {}; //创建一个空对象
for (var k in Obj) { //为这个对象添加新的属性
buf[k] = clone(Obj[k]);
}
return buf;
}else{ //普通变量直接赋值
return Obj;
}
}
38、小雨是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。从这段描述可以得到以下对象:
function Dog() {
this.wow = function() {
alert(’Wow’);
}
this.yelp = function() {
this.wow();
}
}
小雪和小雨一样,原来也是一条可爱的小狗,可是突然有一天疯了(MadDog),一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。请根据描述,按示例的形式用代码来实。(继承,原型,setInterval) 代码如下:
function MadDog() {
this.yelp = function() {
var self = this;
setInterval(function() {
self.wow();
}, 500);
}
}
MadDog.prototype = new Dog();
//for test
var dog = new Dog();
dog.yelp();
var madDog = new MadDog();
madDog.yelp();
39、下面这个ul,如何点击每一列的时候alert其index?(闭包)
代码如下:
// 方法一:
var lis=document.getElementById('2223').getElementsByTagName('li');
for(var i=0;i<3;i++)
{
lis[i].index=i;
lis[i].οnclick=function(){
alert(this.index);
};
}
//方法二:
var lis=document.getElementById('2223').getElementsByTagName('li');
for(var i=0;i<3;i++)
{
lis[i].index=i;
lis[i].οnclick=(function(a){
return function() {
alert(a);
}
})(i);
}
40、 javascript实现避免页面按钮重复提交
function preventAjax(obj,num){
obj.disabled = true;
var num = num;
var types =obj.type;
if(types == 'submit'){
var text = obj.value;
var time1 = setInterval(function(){
obj.value = num;
num--;
if(obj.value <= 0 ){
clearInterval(time1);
obj.disabled = false;
obj.value = text;
}
},1000);
}else{
var text = obj.innerHTML
var time1 = setInterval(function(){
obj.innerHTML = num;
num--;
if(obj.innerHTML <= 0 ){
clearInterval(time1);
obj.disabled = false;
obj.innerHTML = text;
}
},1000);
}
}
41、 js对象的深度克隆
Object.prototype.deepClone=function(){
function cloneObj(){}
cloneObj.prototype=this;
var obj=new cloneObj();
for(var o in obj){
if(typeof(obj[o])=="object")obj[o]=obj[o].deepClone();
}
return obj;
}
42、 字符串反转,如将 '12345678' 变成 '87654321'。
//思路:先将字符串转换为数组 split(),利用数组的反序函数 reverse()颠倒数组,再利用 jion() 转换为字符串
var str = '12345678';
str = str.split('').reverse().join('');
43、将数字 12345678 转化成 RMB形式 如: 12,345,678。
//思路:先将数字转为字符, str= str + '' ;
//利用反转函数,每三位字符加一个 ','最后一位不加; re()是自定义的反转函数,最后再反转回去! for(var i = 1; i <= re(str).length; i++){
tmp += re(str)[i - 1];
if(i % 3 == 0 && i != re(str).length){
tmp += ',';
}
}
44、生成5个不同的随机数;
//思路:5个不同的数,每生成一次就和前面的所有数字相比较,如果有相同的,则放弃当前生成的数字!
var num1 = [];
for(var i = 0; i < 5; i++){
num1[i] = Math.floor(Math.random()*10) + 1; //范围是 [1, 10]
for(var j = 0; j < i; j++){
if(num1[i] == num1[j]){
i--;
}
}
}
45、阻止冒泡函数
function stopPropagation(e) {
e = e || window.event;
if(e.stopPropagation) { //W3C阻止冒泡方法
e.stopPropagation();
} else {
e.cancelBubble = true; //IE阻止冒泡方法
}
}
document.getElementById('need_hide').onclick = function(e) {
stopPropagation(e);
}
46、解释原因
①function changeObjectProperty (o) {
o.siteUrl = "http://www.csser.com/";
o = new Object();
o.siteUrl = "http://www.popcg.com/";
}
var CSSer = new Object();
changeObjectProperty(CSSer);
console.log(CSSer.siteUrl); // http://www.csser.com/
答:在函数内部修改了引用类型值的参数,该参数值的原始引用保持不变。我们可以把参数想象成局部变量,当参数被重写时,这个变量引用的就是一个局部变量,局部变量的生存期仅限于函数执行的过程中,函数执行完毕,局部变量即被销毁以释放内存。
(补充:内部环境可以通过作用域链访问所有的外部环境中的变量对象,但外部环境无法访问内部环境。每个环境都可以向上搜索作用域链,以查询变量和函数名,反之向下则不能。)
②var a = 6;
setTimeout(function(){
alert(a);
var a = 66;
}, 1000);
a = 666;
alert(a);
// 666, undefined;
定义了局部变量a,覆盖了全局变量,但是在alert(a);之前 a并未赋值,所以输出undefined。
记住: 异步处理,一切OK 声明提前
47、JS的继承性
window.color = 'red';
var o = {color: 'blue'};
function sayColor(){
alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
this-window对象
sayColor.call(window); //red
sayColor.call(o); //blue
48、精度问题: JS 精度不能精确到 0.1 所以 。。。。同时存在于值和差值中
var n = 0.3,m = 0.2, i = 0.2, j = 0.1;
alert((n - m) == (i - j)); //false
alert((n-m) == 0.1); //false
alert((i-j)==0.1); //true
49、加减运算
alert('5'+3); //53 string
alert('5'+'3'); //53 string
alert('5'-3); //2 number
alert('5'-'3'); //2 number
50、输出结果
①var a = 5;
function test(){
a = 0;
alert(a);
alert(this.a); //没有定义 a这个属性
var a;
alert(a)
}
test(); // 0, 5, 0
new test(); // 0, undefined, 0 由于类它自身没有属性a, 所以是undefined
②var bool = !!2;
alert(bool);//true;
双向非操作可以把字符串和数字转换为布尔值。
③
(function test(){
var a=b=5;
alert(typeof a);
alert(typeof b);
})();
alert(typeof a);
alert(typeof b); //number number undefined number
④var iNum = 0;
for(var i = 1; i< 10; i++){
if(i % 5 == 0){
continue;
}
iNum++;
}
alert(iNum ); //8
51、
定义一个log方法,让它可以代理console.log的方法。
可行的方法一:
function log(msg) {
console.log(msg);
}
log("hello world!") // hello world!
如果要传入多个参数呢?显然上面的方法不能满足要求,所以更好的方法是:
function log(){
console.log.apply(console, arguments);
};
52、用js写个原生的ajax过程
window.οnlοad=function(){
document.getElementsByTagName('a')[0].οnclick=function(){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var method='GET';
var url=this.href;
xmlhttp.open(method,url);
xmlhttp.send();
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200||xmlhttp.status==304){
var txt=xmlhttp.responseText;
var json=eval('('+txt+')');
document.getElementById('name').innerHTML='姓名'+json.ruei.name;
document.getElementById('age').innerHTML='年龄'+json.ruei.age;
document.getElementById('job').innerHTML='工作'+json.ruei.job;
}
}
}
return false;
}
}
你可能感兴趣的:(面试题目)
PostGIS面试题及详细答案120道之 (021-030 )
还是大剑师兰特
大剑师 postgis面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录21.为什么要在PostGIS中使用空间索引?22.PostGIS支持哪些类型的
Java面试题及详细答案120道之(081-100)
还是大剑师兰特
前后端面试题 大剑师 java面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录81.Java中的`ConcurrentHashMap`与`HashMap`在并
Openlayers 面试题及答案180道(41-60)
还是大剑师兰特
# 前后端面试题 大剑师 Openlayers面试题 Openlayers示例 Openlayers教程
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录41.如何在OpenLayers中加载WFS数据?42.在OpenLayers中
CSS面试题及详细答案140道之(41-60)
还是大剑师兰特
前后端面试题 css 前端 大剑师 CSS面试 CSS示例
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录41.如何在不使用额外标记的情况下隐藏文本但保留其可访问性?42.解释`text
Java面试题及详细答案120道之(041-060)
还是大剑师兰特
前后端面试题 大剑师 java面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录41.什么是工厂模式?简单工厂、工厂方法、抽象工厂的区别?42.Java中的泛型
【原生JS】 前端JS字符串最常用 20 道面试题总结(含详细代码解析)
全栈前端老曹
前端 javascript 开发语言 面试 vue react.js ecmascript
原生JavaScript字符串最常用20道面试题总结(含详细代码解析)字符串是前端开发中最常见的数据类型之一,也是各大公司高频考察点。以下是老曹总结的原生JS字符串相关的20道高频面试题,涵盖字符串操作、正则表达式、性能优化、常见陷阱等多个方面,每道题都配有详细的代码示例和讲解。面试题目录序号题目考察点1slice,substring,substr的区别?截取方法2如何判断一个字符串是否包含另一个
Java面试题及详细答案120道之(021-040)
还是大剑师兰特
前后端面试题 大剑师 java面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录21.对象在java中如何序列化?22.Java中的try…catch是用于异常
Vue3 面试题及详细答案120道(91-105 )
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录91.Vue3中如何使用`v-once`优化性能?92.请解释Vue3中`toR
华为视觉算法面试30问全景精解
机 _ 长
华为 算法 面试 YOLO 深度学习 计算机视觉 职场和发展
华为视觉算法面试30问全景精解——技术引领×工程极致×智能未来:华为视觉算法面试核心考点全览前言华为作为全球领先的ICT(信息与通信技术)解决方案供应商,在智能终端、云计算、智慧城市、自动驾驶、工业互联网等领域持续推动视觉AI的创新与产业落地。华为视觉算法岗位面试不仅关注候选人对视觉基础理论的扎实掌握,更强调算法在大规模系统、端云协同、极致性能优化等复杂场景下的工程实现与创新能力。面试题目兼顾理论
CSS面试题及详细答案140道之(101-120)
还是大剑师兰特
前后端面试题 css 大剑师 CSS面试题
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录101.解释`text-indent`属性的作用。102.如何在CSS中实现响应
vue2 面试题及详细答案150道(121 - 130)
《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux…。前后端面试题-专栏总目录文章目录一、本文面试题目录121.Vue2中如何实现组件的动态样式绑定?122.Vue2中如何处理跨域请求
C/C++ 知识总结
灿烂阳光g
后端
目录C/C++STL数据结构算法Problems操作系统计算机网络网络编程数据库设计模式链接装载库海量数据处理音视频其他书籍复习刷题网站招聘时间岗位面试题目经验C/C++const作用修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针和指针常量;常量引用,经常用于形参类型,即避免了拷贝,又避免了函数对值的修改;修饰成员函数,说明该成员函数内不能修改成员变量。使用const使用stati
品诺维新硬件实习生试题解析与答案
本文还有配套的精品资源,点击获取简介:本文档为苏州品诺维新公司硬件开发实习生面试准备材料。包含了三极管工作状态相关的面试题目及其解析,三极管的三种工作状态(截止、放大、饱和)被详细解释,并指出正确答案。考生需深入理解三极管的工作原理,这不仅是电子技术的基础理论,也是实际电路设计与故障排查的基础。通过理解三极管特性,可以更好地应用于开关电路、放大电路及模拟数字转换等场景。考生在准备面试时,应全面复习
2022年MySQL最新面试题
m0_54850467
面试 学习路线 阿里巴巴 android 前端 后端
2022年MySQL最新面试题目录前言一、数据库基础知识0、概要1、平时MySQL主要用哪个版本2、数据库三大范式是什么3、MySQL有关权限的表都有哪几个4、MySQL的binlog有有几种录入格式?分别有什么区别?平时用到哪些关系型数据库和非关系数据库,可以谈谈你对它们的理解吗?5、可以简单说说你对MySQL的逻辑架构了解吗?6、了解MySQL中的MVCC是什么?7、PostgreSQL相对于
Swift - 基础面试题
赑屃王者
面试题 swift 面试
面试题目录一、类和结构体的区别是什么二、写时拷贝机制三、模式匹配四、协议五、泛型六、运算符、下标、字面量协议、尾随闭包七、Optional、变量常量、类型检查、扩展八、函数式编程九、响应式编程十、swift和OC的区别?一、类和结构体的区别是什么类是引用类型,结构体是值类型,拷贝赋值时,结构体是值拷贝,对象赋值时指针拷贝。结构体保存在栈区,类对象保存在堆区,类对象指针一般在栈区,指向堆区的对象。结
MATLAB算法实战应用案例精讲-【数模应用】主效应&交互效应&单独效应
林聪木
matlab 算法 开发语言
目录前言几个相关概念因素和水平主效应单纯主效应交互作用效应或影响(effect)因素之间的相互制约和影响两因素交互作用三因素及多因素交互作用几个高频面试题目什么是主效应,交互效应,单独效应?回归分析中是必须加入控制变量的吗?如果假如控制变量之后,显著性不高了该怎么办?控制变量说明控制变量选择控制变量处理主效应和交互效应的联系与区别如何依据主效应和交互效应描述结果?算法原理数学模型主效应二分变量交互
大厂硬件笔试题型和详细解析
启芯硬件笔记
经验分享
本专栏预计更新90期左右。当前第23期-大厂硬件综合.这个系列通过在国内外网上搜索大厂公开的笔试和面试题目,然后构造相关的知识点矩阵,让大家对核心的知识点有更深的认识,这个过程虽然耗时费力,但大厂的很多题目(包括模拟题)确实非常巧妙,很有代表性。由于官方没有发布过这样的题库,所以文章中的题目只能作为参考的范式,主要还是告诉读者解题的方法和考察的知识点。硬件工程师在面试过程中,需要展示出扎实的电路设
揭秘DeepSeek:为何选择MoE负载均衡技术?
大模型老炮
产品经理 人工智能 AI大模型 AIGC 大模型 大模型教程 大模型学习
DeepSeek是如何做专家的负载均衡的?如果你在面试时被问到这个问题,应该怎么回答呢?01面试官心理分析从面试官的角度来看,你至少得答到下面这两个层面:第一层,为什么要做专家的负载均衡,动机是什么?第二层,DeepSeek是怎么做的,它具体有什么高明之处?好,那接下来我们就一起来分析拆解一下这道面试题目。02面试题解析首先第一点,为什么要做专家的负载均衡?这里先给大家科普一下负载均衡的概念,它实
Openlayers面试题198道
还是大剑师兰特
# 大剑师 openlayers面试题 openlayers知识点
以下是关于OpenLayers的面试题目列表,涵盖了从基础概念、API使用、地图操作、图层管理、交互控制、数据处理、性能优化、插件开发到项目实战等多个方面。这些问题旨在帮助你全面了解OpenLayers并为面试做好准备。OpenLayers面试题列表(共198道)第一部分:基础与核心功能(1-40)什么是OpenLayers?它的主要用途是什么?解释OpenLayers的工作原理。如何在网页中集成
资深Java工程师的面试题目(七)JDK & JVM
刘一说
Java 后端技术栈 实战总结 java 面试 jvm
以下是针对Java面试者的JVM和JDK相关题目,涵盖核心知识点、实际应用场景和进阶问题:一、JVM基础1.JVM内存模型题目:请描述JVM的内存模型及其组成部分,并说明每个区域的作用。解析:JVM内存模型分为以下几部分:程序计数器(ProgramCounterRegister):线程私有,记录当前线程执行的字节码行号。是唯一一个不会抛出OutOfMemoryError的区域。Java虚拟机栈(J
全是原题?东吴金科2024量化研究员笔试0402
量化投资和人工智能
量化笔面试 量化笔试 python numpy pandas c++ 数据分析 数据库 数据结构
关注我们,每周发布最新的笔面试题目和解析记得设为星标哦前言限时60min,4个概率和数理统计题、一个编程题,实则可以看为两个编程题。如果这些题是第一次做的话,还是比较难或者难以下手的,尤其是编程题考了动态规划,难度为力扣hard级别,对标互联网大厂笔试。但是做多了,就会发现基本都是经典题型,所以笔试前要好好准备,多刷绿宝书、红宝书,多刷LeeCode!春招和暑期实习和笔试也陆陆续续开始了,欢迎同学
山东大学软件学院项目实训-基于大模型的模拟面试系统-个人博客(十)
TydKsx
面试 职场和发展
开发博客:AI面试官个性化出题MCP功能最终完善本周作为项目开发的最后冲刺阶段,我们致力于进一步增强AI面试官在个性化题目生成方面的能力。核心工作是新增和优化了一系列MCP(Multi-turnConversationProtocol)工具,旨在为AI面试官提供更丰富、更精准的用户画像和知识背景,从而生成更具针对性的面试题目。目前整个MCP工具链的结构如下:本周主要完成的MCP功能模块包括:que
资深Java工程师的面试题目(八)AI大模型
刘一说
后端技术栈 Java AI自说 java 面试 人工智能
以下是针对Java面试者的AI大模型相关题目,涵盖基础理论、实际应用、代码实现和部署优化等方向:一、基础理论类题目1.Transformer架构与应用场景题目:请说明Encoder-Only、Decoder-Only和Encoder-Decoder架构的区别,并举例说明它们在AI大模型中的典型应用场景。解析:Encoder-Only(如BERT):用于理解型任务(如文本分类、问答系统)。原理:通过
最新!Citadel datathon OA题目20240330
量化投资和人工智能
量化笔面试 量化笔试 机器学习 大数据 python 数据分析 人工智能
关注我们,每周发布最新的笔面试题目和解析前言申请完Datathon后就会发OA,时间60min15道选择题,题目相较以往有一些变化,但是不多,整体不算难,以数理统计、机器学习和python编程为主,下面给个汇总版。外资也有很多不错的选择,同学们可以内资、外资一起投,找实习的时候可以多尝试些不同的方向,寻找适合自己并且感兴趣的,为秋招做准备。春招和暑期实习和笔试也陆陆续续开始了,欢迎同学们在公众号后
资深Java工程师的面试题目(一)微服务
刘一说
后端技术栈 Java springboot java 面试 微服务
以下是针对Java微服务架构的面试题,涵盖SpringBoot、SpringCloud、RESTfulAPI、gRPC、消息队列、事件驱动架构和GraphQL等技术点,适合评估候选人对微服务设计和实现的理解深度及实际应用能力:1.SpringBoot核心特性与性能优化题目:请说明SpringBoot的自动配置原理,并描述如何通过自定义@Configuration类覆盖默认配置。编写一个Spring
第四届机器学习与智能系统工程国际学术会议MLISE 2024
拼多多真狠啊,工作四个月要求竞业赔偿45万我对不起大家,深感抱歉HR面面完了,许愿一个OC腾讯云智研发公司技术运营实习生二面工行软开面经我的国企银行运营商笔试面试之路|保姆级分享一份海康面试题,看面试官如何拷问linux底层技术测试工程师社招-linux面试题晴天霹雳海康威视嵌入式面试题目linux面试题联想Linux开发一面凉经Java基础八股(中小厂纯享版)官方招募:华泰证券FINTECH编程
leetcode 23. Merge k Sorted Lists
bohu83
leetcode k list 合并 分治 最小堆 算法
一题目Mergeksortedlinkedlistsandreturnitasonesortedlist.Analyzeanddescribeitscomplexity.Example:Input:[ 1->4->5, 1->3->4, 2->6]Output:1->1->2->3->4->4->5->6二分析就K个链表,合并成一个有序链表。本题是hard级别。这个题目的解法很多,是经典的面试题目
2025 年 Java 校招 120 道面试题目合集及详细答案解析
sss191s
java开发 java 面试 python
Java校招120道面试题目合集及答案一、Java基础1.Java语言有哪些特点?答案:简单性:Java语法简洁,去除了C++中一些复杂和容易出错的特性,如指针、多重继承等。例如定义一个简单的类:publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}面向对象:支持封
2025 年 Java 校招 120 道含实操面试题目及答案完整合集
sss191s
java开发 java 面试 python
Java校招120道面试题目合集及答案(含实操)一、Java基础1.Java语言有哪些特点?答案:Java具有简单性、面向对象、平台无关性等特点。实操:创建一个简单的Java程序,演示面向对象的封装特性。//定义一个学生类,封装姓名和年龄属性classStudent{privateStringname;privateintage;publicStudent(Stringname,intage){t
ADI硬件笔试面试题型解析上
启芯硬件笔记
面试 职场和发展 嵌入式硬件 硬件工程 电路设计 硬件工程师
本专栏预计更新60期左右。当前第16期-ADI硬件.这个系列通过在国内外网上搜索大厂公开的笔试和面试题目,然后构造相关的知识点矩阵,让大家对核心的知识点有更深的认识,这个过程虽然耗时费力,但大厂的很多题目(包括模拟题)确实非常巧妙,很有代表性。由于官方没有发布过这样的题库,所以文章中的题目只能作为参考的范式,主要还是告诉小伙伴解题的方法和考察的知识点。ADI(AnalogDevicesInc.)是
Js函数返回值
_wy_
js return
一、返回控制与函数结果,语法为:return 表达式;作用: 结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二、返回控制语法为:return;作用: 结束函数执行,返回调用函数,而且把undefined作为函数的结果 在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性
MySQL 的 char 与 varchar
bylijinnan
mysql
今天发现,create table 时,MySQL 4.1有时会把 char 自动转换成 varchar
测试举例:
CREATE TABLE `varcharLessThan4` (
`lastName` varchar(3)
) ;
mysql> desc varcharLessThan4;
+----------+---------+------+-
Quartz——TriggerListener和JobListener
eksliang
TriggerListener JobListener quartz
转载请出自出处:http://eksliang.iteye.com/blog/2208624 一.概述
listener是一个监听器对象,用于监听scheduler中发生的事件,然后执行相应的操作;你可能已经猜到了,TriggerListeners接受与trigger相关的事件,JobListeners接受与jobs相关的事件。
二.JobListener监听器
j
oracle层次查询
18289753290
oracle;层次查询;树查询
.oracle层次查询(connect by)
oracle的emp表中包含了一列mgr指出谁是雇员的经理,由于经理也是雇员,所以经理的信息也存储在emp表中。这样emp表就是一个自引用表,表中的mgr列是一个自引用列,它指向emp表中的empno列,mgr表示一个员工的管理者,
select empno,mgr,ename,sal from e
通过反射把map中的属性赋值到实体类bean对象中
酷的飞上天空
javaee 泛型 类型转换
使用过struts2后感觉最方便的就是这个框架能自动把表单的参数赋值到action里面的对象中
但现在主要使用Spring框架的MVC,虽然也有@ModelAttribute可以使用但是明显感觉不方便。
好吧,那就自己再造一个轮子吧。
原理都知道,就是利用反射进行字段的赋值,下面贴代码
主要类如下:
import java.lang.reflect.Field;
imp
SAP HANA数据存储:传统硬盘的瓶颈问题
蓝儿唯美
HANA
SAPHANA平台有各种各样的应用场景,这也意味着客户的实施方法有许多种选择,关键是如何挑选最适合他们需求的实施方案。
在 《Implementing SAP HANA》这本书中,介绍了SAP平台在现实场景中的运作原理,并给出了实施建议和成功案例供参考。本系列文章节选自《Implementing SAP HANA》,介绍了行存储和列存储的各自特点,以及SAP HANA的数据存储方式如何提升空间压
Java Socket 多线程实现文件传输
随便小屋
java socket
高级操作系统作业,让用Socket实现文件传输,有些代码也是在网上找的,写的不好,如果大家能用就用上。
客户端类:
package edu.logic.client;
import java.io.BufferedInputStream;
import java.io.Buffered
java初学者路径
aijuans
java
学习Java有没有什么捷径?要想学好Java,首先要知道Java的大致分类。自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE
APP推广
aoyouzi
APP 推广
一,免费篇
1,APP推荐类网站自主推荐
最美应用、酷安网、DEMO8、木蚂蚁发现频道等,如果产品独特新颖,还能获取最美应用的评测推荐。PS:推荐简单。只要产品有趣好玩,用户会自主分享传播。例如足迹APP在最美应用推荐一次,几天用户暴增将服务器击垮。
2,各大应用商店首发合作
老实盯着排期,多给应用市场官方负责人献殷勤。
3,论坛贴吧推广
百度知道,百度贴吧,猫扑论坛,天涯社区,豆瓣(
JSP转发与重定向
百合不是茶
jsp servlet Java Web jsp转发
在servlet和jsp中我们经常需要请求,这时就需要用到转发和重定向;
转发包括;forward和include
例子;forwrad转发; 将请求装法给reg.html页面
关键代码;
req.getRequestDispatcher("reg.html
web.xml之jsp-config
bijian1013
java web.xml servlet jsp-config
1.作用:主要用于设定JSP页面的相关配置。
2.常见定义:
<jsp-config>
<taglib>
<taglib-uri>URI(定义TLD文件的URI,JSP页面的tablib命令可以经由此URI获取到TLD文件)</tablib-uri>
<taglib-location>
TLD文件所在的位置
JSF2.2 ViewScoped Using CDI
sunjing
CDI JSF 2.2 ViewScoped
JSF 2.0 introduced annotation @ViewScoped; A bean annotated with this scope maintained its state as long as the user stays on the same view(reloads or navigation - no intervening views). One problem w
【分布式数据一致性二】Zookeeper数据读写一致性
bit1129
zookeeper
很多文档说Zookeeper是强一致性保证,事实不然。关于一致性模型请参考http://bit1129.iteye.com/blog/2155336
Zookeeper的数据同步协议
Zookeeper采用称为Quorum Based Protocol的数据同步协议。假如Zookeeper集群有N台Zookeeper服务器(N通常取奇数,3台能够满足数据可靠性同时
Java开发笔记
白糖_
java开发
1、Map<key,value>的remove方法只能识别相同类型的key值
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c"
图片黑色阴影
bozch
图片
.event{ padding:0; width:460px; min-width: 460px; border:0px solid #e4e4e4; height: 350px; min-heig
编程之美-饮料供货-动态规划
bylijinnan
动态规划
import java.util.Arrays;
import java.util.Random;
public class BeverageSupply {
/**
* 编程之美 饮料供货
* 设Opt(V’,i)表示从i到n-1种饮料中,总容量为V’的方案中,满意度之和的最大值。
* 那么递归式就应该是:Opt(V’,i)=max{ k * Hi+Op
ajax大参数(大数据)提交性能分析
chenbowen00
Web Ajax 框架 浏览器 prototype
近期在项目中发现如下一个问题
项目中有个提交现场事件的功能,该功能主要是在web客户端保存现场数据(主要有截屏,终端日志等信息)然后提交到服务器上方便我们分析定位问题。客户在使用该功能的过程中反应点击提交后反应很慢,大概要等10到20秒的时间浏览器才能操作,期间页面不响应事件。
根据客户描述分析了下的代码流程,很简单,主要通过OCX控件截屏,在将前端的日志等文件使用OCX控件打包,在将之转换为
[宇宙与天文]在太空采矿,在太空建造
comsci
我们在太空进行工业活动...但是不太可能把太空工业产品又运回到地面上进行加工,而一般是在哪里开采,就在哪里加工,太空的微重力环境,可能会使我们的工业产品的制造尺度非常巨大....
地球上制造的最大工业机器是超级油轮和航空母舰,再大些就会遇到困难了,但是在空间船坞中,制造的最大工业机器,可能就没
ORACLE中CONSTRAINT的四对属性
daizj
oracle CONSTRAINT
ORACLE中CONSTRAINT的四对属性
summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,如何利用约束本身的属性来处理这些问题呢?本文详细介绍了约束的四对属性: Deferrable/not deferrable, Deferred/immediate, enalbe/disable, validate/novalidate,以及如
Gradle入门教程
dengkane
gradle
一、寻找gradle的历程
一开始的时候,我们只有一个工程,所有要用到的jar包都放到工程目录下面,时间长了,工程越来越大,使用到的jar包也越来越多,难以理解jar之间的依赖关系。再后来我们把旧的工程拆分到不同的工程里,靠ide来管理工程之间的依赖关系,各工程下的jar包依赖是杂乱的。一段时间后,我们发现用ide来管理项程很不方便,比如不方便脱离ide自动构建,于是我们写自己的ant脚本。再后
C语言简单循环示例
dcj3sjt126com
c
# include <stdio.h>
int main(void)
{
int i;
int count = 0;
int sum = 0;
float avg;
for (i=1; i<=100; i++)
{
if (i%2==0)
{
count++;
sum += i;
}
}
avg
presentModalViewController 的动画效果
dcj3sjt126com
controller
系统自带(四种效果):
presentModalViewController模态的动画效果设置:
[cpp]
view plain
copy
UIViewController *detailViewController = [[UIViewController al
java 二分查找
shuizhaosi888
二分查找 java二分查找
需求:在排好顺序的一串数字中,找到数字T
一般解法:从左到右扫描数据,其运行花费线性时间O(N)。然而这个算法并没有用到该表已经排序的事实。
/**
*
* @param array
* 顺序数组
* @param t
* 要查找对象
* @return
*/
public stati
Spring Security(07)——缓存UserDetails
234390216
ehcache 缓存 Spring Security
Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没
Dozer 深层次复制
jayluns
VO maven po
最近在做项目上遇到了一些小问题,因为架构在做设计的时候web前段展示用到了vo层,而在后台进行与数据库层操作的时候用到的是Po层。这样在业务层返回vo到控制层,每一次都需要从po-->转化到vo层,用到BeanUtils.copyProperties(source, target)只能复制简单的属性,因为实体类都配置了hibernate那些关联关系,所以它满足不了现在的需求,但后发现还有个很
CSS规范整理(摘自懒人图库)
a409435341
html UI css 浏览器
刚没事闲着在网上瞎逛,找了一篇CSS规范整理,粗略看了一下后还蛮有一定的道理,并自问是否有这样的规范,这也是初入前端开发的人一个很好的规范吧。
一、文件规范
1、文件均归档至约定的目录中。
具体要求通过豆瓣的CSS规范进行讲解:
所有的CSS分为两大类:通用类和业务类。通用的CSS文件,放在如下目录中:
基本样式库 /css/core
C++动态链接库创建与使用
你不认识的休道人
C++ dll
一、创建动态链接库
1.新建工程test中选择”MFC [dll]”dll类型选择第二项"Regular DLL With MFC shared linked",完成
2.在test.h中添加
extern “C” 返回类型 _declspec(dllexport)函数名(参数列表);
3.在test.cpp中最后写
extern “C” 返回类型 _decls
Android代码混淆之ProGuard
rensanning
ProGuard
Android应用的Java代码,通过反编译apk文件(dex2jar、apktool)很容易得到源代码,所以在release版本的apk中一定要混淆一下一些关键的Java源码。
ProGuard是一个开源的Java代码混淆器(obfuscation)。ADT r8开始它被默认集成到了Android SDK中。
官网:
http://proguard.sourceforge.net/
程序员在编程中遇到的奇葩弱智问题
tomcat_oracle
jquery 编程 ide
现在收集一下:
排名不分先后,按照发言顺序来的。
1、Jquery插件一个通用函数一直报错,尤其是很明显是存在的函数,很有可能就是你没有引入jquery。。。或者版本不对
2、调试半天没变化:不在同一个文件中调试。这个很可怕,我们很多时候会备份好几个项目,改完发现改错了。有个群友说的好: 在汤匙
解决maven-dependency-plugin (goals "copy-dependencies","unpack") is not supported
xp9802
dependency
解决办法:在plugins之前添加如下pluginManagement,二者前后顺序如下:
[html]
view plain
copy
<build>
<pluginManagement