新足迹

 找回密码
 注册

精华好帖回顾

· 征文活动 - 写给2100年的我 (2008-11-27) kingsford · 回忆来澳后的几个感动 (2007-1-21) qqyang
· 我在澳洲这几年 (2012-1-26) Goofy · 又到Ebay总结经验的时候了(顶楼有随想随添的101小TIPS) (2007-2-28) 水晶靴
Advertisement
Advertisement
楼主:小V老师

[学习培训] 稍微谈谈SQL [复制链接]

发表于 2014-6-16 14:53 |显示全部楼层
此文章由 Bessy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Bessy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我感觉能问出这样问题的公司。应该是个大公司。
这个题考的是面试者想要了解面试人的数据处理方面的知识广度,因为很明显答案不完全在SQL上。如果是我,我会说
1. HashTable. (程序解决) 2. Shell 的  sort 命令 (从操作系统级解决)。3. regular expression (用script解决). 因为用temp table 或 Rank 等数据库命令消耗太多资源。

月亮,能告诉大家这是什么职位。和公司规模么?
Advertisement
Advertisement

发表于 2014-6-16 14:53 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小V老师 发表于 2014-6-16 13:35
一般出变态考题的教官本身也没啥水平

做数据分析这行,技术顶多占20%,思维逻辑和对数据的激情才是80%的内 ...

没这么严重吧?

我出过几次面试题,出题的时候,9道题会是基本的,有经验的肯定会答得出,最后一定放一两道变态题,也许我自己也不知道答案,就是和对方讨论讨论,看看对方是不是大牛。答案倒不重要。

评分

参与人数 1积分 +5 收起 理由
无视 + 5 我很赞同

查看全部评分

职业灌水赚分

发表于 2014-6-16 16:01 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 10:24
哦,self-reference都可以用cte来做recursion,跟设计有关,非recursive的cte应该很普遍了,用的时候goog ...

现在非重量级web开发大量用ORM的情况下对sql的深度需求真的看不到,基本上全部在代码端实现业务逻辑。
感觉之前的sql开发经验用处很少。
2020目标: 活着

发表于 2014-6-16 16:07 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IsDonIsGood 发表于 2014-6-16 15:01
现在非重量级web开发大量用ORM的情况下对sql的深度需求真的看不到,基本上全部在代码端实现业务逻辑。
感 ...

嗯,没错,也不知道这是好是坏,他们就把database做为data store,如果被没有经验的team滥用,很容易有db performance的问题

退役斑竹

发表于 2014-6-16 16:07 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Bessy 发表于 2014-6-16 13:53
我感觉能问出这样问题的公司。应该是个大公司。
这个题考的是面试者想要了解面试人的数据处理方面的知识广 ...

这是一个世界前10名IT公司的DBA职位,在一个18人的DBA team。 美国,印度,澳洲各6个,负责全世界的客户。

第一轮面试HR,第二轮澳洲的TL,第三轮印度的TL,第四轮美国的TL,这个问题是美国的TL出的。

退役斑竹

发表于 2014-6-16 16:08 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Bessy 发表于 2014-6-16 13:53
我感觉能问出这样问题的公司。应该是个大公司。
这个题考的是面试者想要了解面试人的数据处理方面的知识广 ...

很有可能
Advertisement
Advertisement

发表于 2014-6-16 16:17 |显示全部楼层
此文章由 redstone 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 redstone 所有!转贴必须注明作者、出处和本声明,并保持内容完整

发表于 2014-6-16 17:20 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 15:07
这是一个世界前10名IT公司的DBA职位,在一个18人的DBA team。 美国,印度,澳洲各6个,负责全世界的客户 ...


其实说的不是一个方向了,ETL工程师也算做数据的,但更偏IT,属于数据里面最底层的内容,也是最重要的,但这个职位要求的更多是纯IT

我刚才说面试的,是针对分析师来说的,ETL工程师不是分析师,虽然可以往这个方向转,但ETL本质还是个做IT的,所以考官问那个问题,跟问面试者一道编程题没啥区别,这个意义上讲,考官这样面也没啥问题

我刚才说考官变态是用这种题来面分析师的话,那就是变态了,我们讲的不是一个事,做数据是分层次的,不同层次要求的地方不同,你说的是ETL工程师,严格意义上不属于数据分析的范畴


退役斑竹

发表于 2014-6-16 17:22 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小V老师 发表于 2014-6-16 16:20
其实说的不是一个方向了,ETL工程师也算做数据的,但更偏IT,属于数据里面最底层的内容,也是最重要的, ...

恩,IT隔行如隔山,就算一个领域,不同的方向所看到的东西也大不相同,不过你的标题是谈谈SQL,所以我就进来谈谈了。。。

发表于 2014-6-16 17:29 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IsDonIsGood 发表于 2014-6-16 15:01
现在非重量级web开发大量用ORM的情况下对sql的深度需求真的看不到,基本上全部在代码端实现业务逻辑。
感 ...

过去很多用Stored Procedure 完成的,现在可以在中间层用linq 完成,再把数据送到client side,所以在web应用里对sql的要求应该不用那么强吧。

发表于 2014-6-16 17:31 |显示全部楼层
此文章由 大飞熊 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大飞熊 所有!转贴必须注明作者、出处和本声明,并保持内容完整
adu 发表于 2014-6-16 16:29
过去很多用Stored Procedure 完成的,现在可以在中间层用linq 完成,再把数据送到client side,所以在web ...

EF的performance真是惨不忍睹,微软的中间层用linq完成只能适合比较小的系统。
走别人的路,让别人走投无路
Advertisement
Advertisement

发表于 2014-6-16 17:50 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 IsDonIsGood 于 2014-6-16 16:51 编辑
大飞熊 发表于 2014-6-16 16:31
EF的performance真是惨不忍睹,微软的中间层用linq完成只能适合比较小的系统。 ...


确实惨不忍睹,但是开发速度确实加快了,而且你现在让我不用ORM真的已经不习惯了。
问下NHibernate会好些吗?
2020目标: 活着

发表于 2014-6-16 19:26 来自手机 |显示全部楼层
此文章由 gzrain 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 gzrain 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小V老师 发表于 2014-6-15 23:08
作为开发人员,你怎么也得知道如何连数据库吧?如果我面试你,我会问几个问题关于数据库的问题:

1. 你 ...

感谢lz分享


本人做web开发,也担忧过光做码农将来的前景。

现在cloud发展趋势越来越明显,虽然说作为开发人员,custimize的projects肯定是存在的,但长期看肯定是萎缩的,加上外包和457冲击,纯开发人员能有那些出路呢。

个人感觉,澳洲这边,大公司大数据估计就是银行和一些大企业,绝对数量其实很少,多数还是中小企业和project,做的一般就是CRUD。

现在开发流行的framework都有orm,coder已经很少直接写sql,小project能做的,我接触到的也就加index, load balancing server,一些小模块像logging 分离出来用nosql

作为开发人员,如果想向大数据方向转,lz有什么建议吗,需要专注那些具体操作/学习?谢谢





发表于 2014-6-16 19:29 |显示全部楼层
此文章由 大飞熊 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大飞熊 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IsDonIsGood 发表于 2014-6-16 16:50
确实惨不忍睹,但是开发速度确实加快了,而且你现在让我不用ORM真的已经不习惯了。
问下NHibernate会好些 ...

我们公司用的ORM是自己写的,再弄两个小工具自动生成code,其实很简单。不过现在还只支持读取的功能,最近一直没有空写insert和update的部分。

其实EF的功能很强大,性能上面就会牺牲很多。每个公司或者产品只是需要一小部分,所以自己写的话性能肯定会比它强很多。



走别人的路,让别人走投无路

发表于 2014-6-17 03:57 |显示全部楼层
此文章由 dellachen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dellachen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
116299603 发表于 2014-6-15 22:12
请问会计背景如何成为funtional/business analyst?

User转BA,内部招聘,机缘巧合吧。其实打过交道的不是consultant也不是纯it背景,熟悉商业应用,process,best practice也很重要

发表于 2014-6-17 10:33 |显示全部楼层
此文章由 eguan88 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 eguan88 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 eguan88 于 2014-6-17 09:34 编辑

以前学习MYSQL的时候, 忘记这么写命令直接在MYSQL里运行一个动作就会有显示该命令, 直接COPY. 现在用MYSQLi 无法这么做了.  
Advertisement
Advertisement

发表于 2014-6-17 11:29 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大飞熊 发表于 2014-6-16 16:31
EF的performance真是惨不忍睹,微软的中间层用linq完成只能适合比较小的系统。 ...

对于大公司 大系统,分工会比较细,前台 后台职责也很明确,前台开发对SQL的要求更没必要那么高了。

需要全才的反而是那些规模不大的公司,往往就是这些公司总想员工周身刀,结果是什么都懂一点,但就是什么都不精。

发表于 2014-6-17 11:34 |显示全部楼层
此文章由 大飞熊 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大飞熊 所有!转贴必须注明作者、出处和本声明,并保持内容完整
adu 发表于 2014-6-17 10:29
对于大公司 大系统,分工会比较细,前台 后台职责也很明确,前台开发对SQL的要求更没必要那么高了。

需 ...

我没有讨论分工对问题,但是对于企业级对数据来说很少有用EF的。
走别人的路,让别人走投无路

发表于 2014-6-17 11:35 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 16:22
恩,IT隔行如隔山,就算一个领域,不同的方向所看到的东西也大不相同,不过你的标题是谈谈SQL,所以我就 ...

其实那行都一样,只不过IT有更多的领域,不懂得人总以为IT就是在电脑城装装电脑及系统,当家里的Pc出问题弄不好,就是在IT里混饭吃的,不配做IT的。

参与宝库编辑功臣

发表于 2014-6-17 11:37 |显示全部楼层
此文章由 bffbffbff 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bffbffbff 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好帖留名

发表于 2014-6-17 11:45 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大飞熊 发表于 2014-6-17 10:34
我没有讨论分工对问题,但是对于企业级对数据来说很少有用EF的。

EF历史太短了,很多企业大数据早就建立了,怎会轻易使用新技术;

就好像银行一直用IBM设备,用cobol  DB2 CICS,创新就免了。
Advertisement
Advertisement

发表于 2014-6-17 11:55 |显示全部楼层
此文章由 大飞熊 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大飞熊 所有!转贴必须注明作者、出处和本声明,并保持内容完整
adu 发表于 2014-6-17 10:45
EF历史太短了,很多企业大数据早就建立了,怎会轻易使用新技术;

就好像银行一直用IBM设备,用cobol  DB ...

CBA就不是用ibm的,数据库他们有Oracle和SQL的。

EF和用什么数据库没有啥关系。

EF在整个系统架构就是很小的一部分,说白了也就是一个orm的部分。EF使用确实可以省很多的时间,但是如果你打开SQL profiler你就知道了。如果几个表里面都是million级别的数据,你就知道结果了。我原来写自己的ORM的时候测试过。

现在EF的source code也可以下载了,你可以自己去看看。微软的东西确实很不错,但是为了方方面面的考虑,他们有很多compromise,所以性能就会下降了。但是你针对一个企业你真的需要所有的功能吗?
走别人的路,让别人走投无路

发表于 2014-6-17 13:02 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整

有点扯歪了,开这个贴其实是想帮助新手尤其是商科数学类专业的了解下IT中的SQL, 不过很多回复是来自IT的,估计很多人看帖子会看晕,技术也越来越复杂,我再理一下

上面IT讲到的基本都是生产数据库,本质上说,就是一个应用程序需要打交道的数据库,这种数据库要求实时性强,换句话说一个查询需要马上得到回复。比如你去ebay购物,登录的时候,当你输入你的用户名密码,程序马上要查询数据库然后验证你的用户名密码是否正确。你浏览一个产品,程序需要马上load这个产品的相关信息,这些都叫做生产数据库

后来他们回帖讨论什么EF啊,ORM啊,这些其实都是个中间件,可以说是框架,也可以说就是个中间层,目的就是为了减少程序员太多的底层代码。 中间件一般企业级的应用都是会选择开源免费的,因此企业级的大多数还是会选择JAVA架构,澳洲的大企业其实都不能说是企业级的,一个2000万人口的国家的企业,估计和上海某个中型IT公司的客户数是差不多的,因此澳洲的所谓大企业,也会使用一些微软的东西,微软的东西优势就是上手快,与它家自己的产品兼容性好,因此也有不少公司使用。

生产数据库取决于企业的规模,一般ORACLE也能满足要求,但当你的数据交互达到海量的时候,ORACLE也未必能满足所有需求,举个例子,ebay的生产数据库是oracle,但阿里巴巴的生产数据库就变成了mysql,它的mysql是分库分表的,是基于集群的。原因是阿里巴巴的交易量远大于ebay,同时又有双十一这样的大促。 有些企业一开始就比较有眼光,开始就直接上mysql,通过集群方式实现生产数据库。 以上IT讨论的都是生产数据库里面的内容。



生产数据库是数据产生的原点,但遇到分析,就需要把数据放到OLAP数据库里面,这个过程叫做ETL,很多时候是由IT来完成的,上面有些回复就是在讲这个过程,但这两个过程都是IT的工作,作为商科,或者想转BA的新手不用去了解这些,如果你成了老手,再去了解IT的这部分内容是有必要的。

当数据导入到了OLAP数据库后,就是做分析的开始了,OLAP数据库市面上有很多选择,SQL SERVER提供了一套相对比较便宜的解决方案,主要是SSIS,SSRS,SSAS的服务,集成到SQL SERVER里面了。帖子里面讨论到的TERADATA等都是OLAP数据库,这部分数据库,对交互实时性要求不高,因此面试类似这样的职位,跟上面讲面做IT的题目肯定是不一样的,要求也不同,大家最好不要弄混了

我这个帖子虽然是讲SQL,但通过简单的讲这个SQL,让大家了解下整个框架,同时对商科的有些指导意义,我的目标就达成了








评分

参与人数 3积分 +10 收起 理由
icicle + 4 感谢分享
innerwest + 3 你太有才了
nali + 3 感谢分享

查看全部评分

发表于 2014-6-17 13:07 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大飞熊 发表于 2014-6-17 10:55
CBA就不是用ibm的,数据库他们有Oracle和SQL的。

EF和用什么数据库没有啥关系。

原来我意思是以前用 Stored Procedure 完成的,现在可以在中间层用linq 完成;

但之前已经建立好的数据库,已用原有技术来完成,就不会用新技术去重写,而且现成的人员一般也继续会使用熟悉稳定的技术,没必要用一种新的技术去代替。

其实现在很多数据库都支持 ADO.NET EF ,包括 DB2 ,目前用的不多,但很难说不是将来的方向。

发表于 2014-6-17 14:11 |显示全部楼层
此文章由 不明觉厉 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 不明觉厉 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大湿说了这么多,为什么没人拜师

给多少随缘的

发表于 2014-6-17 14:29 |显示全部楼层
此文章由 Bessy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Bessy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不明觉厉 发表于 2014-6-17 13:11
大湿说了这么多,为什么没人拜师

给多少随缘的

主要是没看明白大师的路数。
Advertisement
Advertisement

发表于 2014-6-17 14:35 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不明觉厉 发表于 2014-6-17 13:11
大湿说了这么多,为什么没人拜师

给多少随缘的

大湿确实自己都是湿漉漉的,要成为师还欠不少火候。

无非觉得在澳洲会比较孤独,因为这么好的行业,在澳洲还不温不火,希望有个社区,彼此鼓励。不然,在澳洲呆着也是无聊的

发表于 2014-6-17 14:36 来自手机 |显示全部楼层
此文章由 workflow 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 workflow 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 workflow 于 2014-6-17 14:39 编辑

不明觉厉
只知道select, delete的路过

发表于 2014-6-17 18:52 来自手机 |显示全部楼层
此文章由 joerkky 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 joerkky 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Event sourcing是个趋势
分布式DB是个趋势
BI是个趋势

至于业务逻辑,还是最好别写到SQL里吧

发表于 2014-6-17 19:07 |显示全部楼层
此文章由 roo81 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 roo81 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个楼是讨论SQL 应用的吧。

日常的SQL 维护和构建也是IT里重要的一部分。比如对存储子系统的IO要求,对CPU,对网络带宽 的要求。
一个好的IT 构架师,需要对这方面有相当的经验和了解。
Water

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部