接到搜房面试邀请让我有些猝不及防,估计是在招聘网站看到我简历了吧,说起来搜房也算是我人生的一个老师,来北京后再上面找房被黑中介坑了好多次,终于决定多花一些钱在靠谱房地产公司租房,当时心里就有一种邪恶的赶脚,不过那天正好没有去上班,就答应了,毕竟面试多多少少还是能学到不少东西的。
从地铁出来的时候被眼前的景象震慑住了,举目荒凉,陆续有三条野狗从我身边经过,按照指示到了公司门口,搜房的大楼还是修的很气派的,进门登记后,前台也是人事把我领到了一个小会议室,很诧异会议室只有桌子和椅子,没有白板投影仪神马的,人事妹子看到我简历说的第一句话就让我心里拔凉拔凉的了,“你工作两年,工资就已经xxx了,很不错呀!”,当时我就惊呆了,很不错是嘛。。。。
胡乱聊了几句后终于进入正题,一个技术哥哥进来拿了两份试题,问我要做哪个,我说这一年来都在做前端的东西,我先看看前端的吧,但是技术哥哥拿着.net的试卷说,你先看看这题,随便说说,不用写了。说实话将近一年没有用.net知识了,多少真的有些生疏了。主要就是几个问答题,顺序记不住了
.NET
1. SQL注入
这个我侃侃而谈了一番,因为很简单,大家都会,什么过滤字符啦、什么不拼接SQL语句,使用模板啦、什么数据库权限啦。。。
2. ORM
我们公司用的是linq自己实现的很简单的、称不上是ORM的解决方案或者IBATIS,没有仔细研究过,平时又懒,对NHibernate、Entity Framework总想着要了解,却没有去研究,所以除了一些对linq的简单解释我只说了呵呵。
3. 分布式
这个实在是没有接触过,所以没有答,确实需要回去后看看。
4. 缓存
对浏览器页面缓存倒是了解一些,但是这是.net的题,我只说了一些.net的文件依赖和数据库依赖的缓存,也没有研究过代码,只是调用过接口,所以也没有说出所以然来。
5. xss攻击
这个名词把握震慑住了,不知道是什么,期间技术哥哥问了我一些jsonp跨域的知识,回去后一百度才知道是怎么回事儿,原来有个这么洋气的名字。
6.设计模式
这个就是简单说了说工厂模式、观察者模式、策略模式和单例模式,问我使用场景,拿.net类库举了下例子。
7. asp.net Button控件原理
之前写过几篇相关的博客,正想大说一番呢,刚说出表单提交,面试哥哥就说可以了,做做前端的题吧,看得出挺失望的,回顾一下也是,大部分题要么没听说过,要么表述不出来,要么一知半解。技术哥哥让我浏览一下问我多久能做完,大概20道题左右,只有一个编程题,其它都是写执行结果或者改错,我说半个小时,技术哥哥就出去了。
总体而言前端的题还是比较简单的,但是说是前端,没有一个CSS相关,只有第一题是HTML改错,其它都是JavaScript,出来后只记得一部分了,反正很多都是考察引用传递和闭包知识的。
所谓前端
1. HTML改错
<div> <ol> <form method="get" action="xxx.aspx"> <li>用户名:<input id="inpupt1" type="text" /></li> <li>密码:<input id="inpupt1" type="text" /></li> <li><input type="submit" value="登陆"/></li> </form> </ol> </div>
说实话我看出来的第一个错是“登陆”,应该是”登录”,大学毕设的时候,导师刻意纠正的,我就在想是不是该指出来。。。
主要错误就是id重复、post表单元素需要name属性在服务器获取,密码的类型应该是password、表单方法应该是post,我不确定form这么奇葩的位置是不是正确,即使放到外面也不会把div提交啊
2. onclick与addEventListener
<div id="test">Click Here</div>
var node=document.getElementById('test'); node.onclick=function(){ console.log('1'); } node.addEventListener('click',function(){ console.log('2'); },false); node.onclick=function(){ console.log('3'); } node.addEventListener('click',function(){ console.log('4'); },false);
这个就是onclick会被覆盖,addEventListener会依次添加,这样就会输出2,3,4
3. 常识,哪些有错,应该是都没有错
var a= a||null; //null var b= c||null; //null var c= typeof f; //undefined
这个题看起来简单,实际还是很有意思的,尤其是第二个,如果改为 var b= d || null; ,这样就会报错了。
4. 数组和引用
var a=[0],b=a; b[0]=2; console.log(a+b); //22 a=[0], b=a, b=[1]; console.log(a+b); //01
这个题最有意思了,有几个知识点,首先[0]这样的写法是定义了一个数组,只有一个元素0,然后就是关于引用的知识了,前后两个还是有一定混淆度的,最好玩儿的是全明白了,很容易写出两个数字相加的结果,实际上会调用数组的toString方法,然后拼接字符串,这道题能做对的同学肯定是很细心的。
5. 闭包
function test(){ var a=0; var node=document.getElementById('test'); node.onclick=function(){ b=0; console.log(a++ + ++b); } for(var i=0;i<10;i++){ node.onclick(); } } test();
这个会输出从1到10,由于闭包原因,a的值会一直保留,而b每次都会被重置为0
6. 类似闭包,改错
function test(){ var param=1; var node=document.getElementById('test'); node.onclick=function(){ console.log(param); } return node; }
这个我一看不知道错在哪里,或者说他希望我改成什么样,于是就这样了
function test(){ var param=1; var node=document.getElementById('test'); (function(n){ n.onclick=function(){ console.log(param); } })(node); return node; }
7. 然后就是window.onload和jQuery的ready区别
老生常谈,因为当时时间充裕,就卖弄的写了一下实现原理
8. setTimeOut和setInterval区别
这个之前写过篇博客setTimeout()和setInterval() 何时被调用执行中说过,除了其本身调用次数区别,主要是时间参数处理时机问题,setTimeOut是n毫秒后执行,setInterval是间隔n毫秒执行一次,无论函数本身调用执行占多少时间,顺别提了提JavaScript单线程导致时间并不精确的问题。
9.为字符串添加一个count方法,统计字符串中’H’出现的次数
这个没有想到比较好的办法,就用数组处理了,不知道大家有没有什么其它办法
String.prototype.count=function(){ return this.split('H').length-1; }
就记得这几个了,最后问了一些现在工作的问题,由于暂时没太想跳槽,没太详细说。之后技术哥哥说我前端比后台技术要好多了,听起来很惭愧的感觉,果真.net答的很让人失望。
总结
1. 这段日子确实疏忽了对.net基本知识原理的学习,很多知识都是一知半解,需要研究原理
2. 对一些公司不使用的热门技术没有足够重视,没有去主动学习
3. 对前端一些知识了解不够深入
相关推荐
搜房帮竞价.doc
搜房软件搜房神器,可以用该软件在网页上搜索相关房源信息,主要是业主信息
仿搜房网手机wap网站模板仿搜房网手机wap网站模板
BAT大牛elasticsearch搜房网实战 BAT大牛elasticsearch搜房网实战 BAT大牛elasticsearch搜房网实战 全部十四节 附源码
discuz论坛插件DZ插件 价值200元的55625搜房房屋租售 搜房 X2 And X2.5
群发源代码大放送了 硬盘代码太过了,以前做的老东西想删除了,就上传网上共享吧。 原创,完全开源,我N年前做的东西了, 使用了Castle.ActiveRecord +Spring.NET+ ...SmartThreadPool+SQLite.NET. ...
搜房网借壳万里股份
搜房网源码 基于ElasticSearch的搜房网实战 非常好的资源 对于初学者
搜房帮刷新高手软件是都客科技出品的一款全自动房源刷新工具。你只需要设置好房源编号和时间,就可以自动帮你挂机刷新,免去人工值班等待的苦恼。 搜房帮刷新高手软件v2.4版本更新日志: 修复批量轮换刷新下统计不...
强一致性:就是立马生效,每次读取到的数据都是新的数据 弱一致性:用户读取系统更新操作中的某一刻的数据,结果是最终数据 最终一致性:对弱一致性的补充,当更新的之后,最终数据一致
搜房引擎免费搜索代码搜房引擎免费搜索代码搜房引擎免费搜索代码
柔性事务: 可见性(对外可查询):在分布式事务执行中,如果某个步骤执行出现错误,就需要明确的知道其他几个事务服务操作的状态, 这就需要其他的操作都需要提供对应的查询接口保证可以通过查询来判断处理情况 ...
基于ElasticSearch的搜房网实战一、核心技术1.ElasticSearch+MySQL+Kafka实现站内搜索引擎2.ElasticSearch+百度
BAT大牛亲授 基于ElasticSearch的搜房网实战 当前互联网行业,数据检索、数据分析等大数据相关的产品异常火爆,而ElasticSearch是当下最火的分布式搜索引擎及大数据分析中间件 ,了解并掌握ElasticSearch的实用场景...
搜房合作方案.pptx
搜房网刷新助手软件针对搜房帮自动刷新提供一系列科学合理的解决方案,大大降低了置业顾问在日常工作中的时间和精力成本,并能获得事半功倍的效果。搜房网刷新助手功能:1.有
由于现在房地产业快速发展,房价居高不下,普通的工薪阶层、毕业生都无法购买得起房子,需要租赁房子,以减少负担;有多余房子的也想出租房子以增加额外收入。通过发广告传单来宣传,特别是在今天网络高速发展,信息...
搜房网案例分析汇编.pptx
NULL 博文链接:https://wj-geyuan.iteye.com/blog/2318963