20130831 周末去吃宽条面

var LeftJoin = from emp in ListOfEmployees
join dept in ListOfDepartment
on emp.DeptID equals dept.ID into JoinedEmpDept
from dept in JoinedEmpDept.DefaultIfEmpty()
select new                        
{
     EmployeeName = emp.Name,
     DepartmentName = dept != null ? dept.Name : null                        
}; 

  这是网上找的一段Linq代码。事因昨天突然冒出个念头,如果去面试,人家问我,介绍一下你的项目,我就说了,我们的WEB层balabala,我们的所谓数据访问层是linq...balabala。人家说了好吧,那你写一个Linq to sql左连接语句。我:......

  用了这么久了,我确实一直记不清linq里这种外连接语句如何写,刻意背过几次,一直也没记住。本身我这2年多其实针对DB的技能全都废了,工作用调试看看数据库而已,什么索引一律不管,有DBA,只要自己别把性能写太垃圾了就好,当年对数据库的热情全都木了。连这种Linq访问数据库的语句,也都一般写得比较简单,是不是别人把那些大数据量表的存取模块写得太好了?遇到需要外连接的情况,我都是找一段代码然后照搬...

  Linq确实太好用了,在查找资料时,发现有多少人在大呼过瘾,多少人在赞扬它的优美,偶尔发现几个说“Linq早晚死”的,随着这次JAVA的引入也成大笑柄。可能是它太优雅了,让人忽略了其更内在的东西,到底为什么一个简单的左连接语句要用这么麻烦的形式写出来?到底它是怎么翻译的?我工作中常遇到的IQuery和内存中的集合进行连接时,什么时候会成功,而什么时候又无法翻译成SQL语句?我有两本摆着没看的LINQ书,红皮的(一般都比较“官方”,你懂的),大概翻了翻,也没有涉及到太深入的东西。最近学习比较散的知识,在前段上投入功夫太多了,返回头来补补这些知识也不错,但我还是不敢确认如果真面试到这个我能背着写得上来。

  话题一转又到了面试,这也是最近园子里聊得比较多的,我现在的心得就是,不要因为被问题问住了就丧失自信,也别降低期望薪金。找一些偏门问题考住你是一些穷B用人单位为了少花钱而使的惯用伎俩。真正想用人又不怕多给钱的单位,一是不会故意难为你,二是更多考量的是针对具体问题时候的解决方案,看你有没有经验和思路。比如以前在易车时候兔子给自己招一个比较偏前段的人时候就会跟他聊目前项目遇到的一些瓶颈问题,其实他自己已有解决方案,那对方所说的又跟他一拍即合,自然找到了想找的人。

  我想起了来现在公司时,HR嘱咐三个面试官:不招特别牛的,别问太难的...那时候我工作经验3年多,没做过大项目。题目我大概还记得,问住我的是怎么用CSS弄出一个scroll还是什么的,记不清了,现在我也不会,对CSS无爱。其他问题都回答上来了,一个是简单的SQL查询语句,一个JQuery的,其他想不起来了,印象最深的就要数那个string的题,是纪sir问的,这人现在看来都是很臭屁的,问的也是臭大街的问题:关于string的种种,balabala的。其中一部分就是问把string当参数传入方法修改,会如何?他无非想的要的回答就是:string是静态的,方法体内修改相当于新生成一个对象balabala.我也是这么回答的,他很满意。其实事后来我才反应过来,这压根就是一个伪命题...引用类型当参数,方法体内都是一个引用的拷贝而已...把string 换成List<T>,还不是一样...

  所以说第一面试官一般都是老资格,我们承认他在整个技术范围内有实力,但针对你应聘的范围比如我是C#,未必懂很多。第二他想难为你你怎么也会被问住,别丧失自信就好了。一场面试,因素很多,有些人根本屁也不懂,任务派到自己了就只想了事而已,有些确实急着招贤纳士,会跟你谈很多,有些考虑不要影响自己的位置,有些天生就嫉贤妒能,目空一切。

  面试跟相亲一样一样的,看不上你,未必是你不好,就是没对眼。

  我又想起来文艺跟我说的,他一个6年的给一个8年的面,人家说了一大堆框架,他问人家,请吐槽一下?当时那人就愣住了。其实这是个颇好的思路,真正能吐槽的,吐槽到点上的,一定至少是熟练掌握了的,这样避免了吹牛型人才浑水摸鱼,也避免了一个真正的人才被一些点卡住,没表达出真正的实力。开放性试题总是好的,但也要求面试官真的也能吐槽出来,识破面试者哪些是bullshit,不然反而就成就了吹牛型人才了。

  昨天跟小葵聊天,说我刚毕业时候CTO考我的问题(虽然她不懂),树,遍历查找文件,interface和abstract,最后一个问题其实是当时我一直思考的。后来进了公司,某想要靠嘴混饭的培训师也说道自己面试,面试官问他二者的区别,他的回答是业内都没有定论,为什么问我这个?

  我现在对此已有所感悟,不禁感叹忽悠就是忽悠。看了那么多源码,写过这么多代码,现在的我就算不敢对此下个定论,但至少是可以表达一下自己想法,而他呢?

  本来想昨天把那个页面都搞完的,写着写着觉得有必要把之前验证的JS整理一下,弄一个适合自己项目的小框架,尽量做到页面使用ajax时,不为验证问题多做考虑,进一步又想以metadata形式弄一个基于验证框架的框架...所以这几天我还是继续搞前端吧,写好了发上来。

  

  

原文地址:https://www.cnblogs.com/apodemakeles/p/3292968.html