8.28 成都中兴面经
1. 手写类的构造
也没有说什么工厂模式,就直接写了一个最简单的类
2. 二叉树的优点
暂时没想到,就答了个快速查找,比如数据库用的b+树
3. 重写hashcode&&equals函数
hashcode重写没写来,equals方法简单手写了一下
后面查了一下,发现其实挺简单的,这里贴一个string类的hsah函数
//@overide public int hashCode(){ int h = hash; if(h == 0 && value.length > 0){ char[] val = value; for(int i=0; i<value.length; i++){ h = 31*h + value[i]; } hash = h; } return h; }4. hashmap的优缺点
优点是查询时间快,O(1)的时间复杂度;
缺点是需要额外计算一次hash值,处理不当会额外占用空间
当时没答有回答的太仔细,说优点就是查询快,缺点说了个相比currenthshmap,线程不安全
currenthshmap现在用的多,于是下一个问题来了
5. 红黑树构造讲一下
没有特意了解,于是答错了,哭唧唧
6. mybatis修改数据库
没用过,不会
7. mybatis中#与$符号的区别
不会
8. JavaScript生成多行表格
一个for循环,<table><tr><td>内容<td><tr><table>,当时就写了一个简单的思路,还把table搞错,面试官很好也给了提示
回来以后自己在重新用webstorm写了一下,项目用的全是canvas,这种表单基本没做过,还是要加强基础啊
贴一段js代码
<div id="table1"></div> var Num = parseInt(document.getElementById("Cold").value); //获取行数 var data = ""; data += " <table >"; for (var i = 1; i <= Num; i++) { data += "<tr >"; data += "<td>" + i + "</td>"; data += "<td>" + i + "</td>"; data += "<td>" + i + "</td>"; data += "</tr>"; } data += "</table>"; document.getElementById("table1").innerHTML = data;投的软开,项目用的ssm,但是自己主要做的是前端,前端用的又是js,框架几乎没用过,还是要加强对项目的了解才好。尤其是后台部分。