以前面试遇到的几道题

1.jQuery attr() 属性操作。
2.递归问题:

function res( $n ){
  if( $n == 1 || $n == 2 ){
    return 1;
}
  return res(5);
}

解答如下:

    res(5) = res(4) + res(3); // 值为5
    res(3) = res(2) + res(1); // 值为2
    res(4) = res(3) + res(2); // 值为3
    res(5) = res(4) + res(3); // 值为5

3.访问修饰符,有权限的打 Y,无权限的打 N。

范围 private protected public
本类     Y     Y     Y
子类     N     Y     Y
外部      N      N     Y

4.下列正确的是 (D)。
      A.在浏览器禁用 cookie 的情况下,session 依然能正常使用。
      B.当关闭浏览器的时候,session 销毁。
      C.类的静态方法里面,可以调用类的非静态属性。
      D.抽象类不能实例化。

5.用一个 sql 从 test 表中查询出 fill 不为2的,所有 id 对应的 total 的和。

    • **`



Column 1 Column 2 Column 3
Text Text Text
Column 1 Column 2 Column 3
Text Text Text

`
   下面是 test 表:

id   total  fill
 1  100 null
 1  200   2
 1  300   1
 2  111   1
 2  222   2
 3  666  1+1

期望得到的结果:

id ResTotal
 1     400
 2     111
 3     666

解答:首先查出 fill 不为 2 的id,再把 id 分组,再计算每组的 total 的和并同时取别名 ResTotal。

    select id from test where fill <> 2; //  第一步
    select id from test where fill <> 2 group by id; // 第二步
    select id,sum( total ) as ResTotal from test where fill <> 2 group by id; // 第三步

6.请用一个 sql 统计出销售 2 个月的业绩。

这是 table1:
file

这是 table2:
file
期望得到结果:

dname 一月份 二月份
销售一组   100   200
销售二组   100   300
销售三组   100   400

解答:
第一种:

SELECT table2.*,
( SELECT yj from table1 WHERE table1.dep = table2.dep and mon = '一月份' ) as 1 月份,
( SELECT yj from table1 WHERE table1.dep = table2.dep and mon = '二月份' ) as 2 月份
FROM `table2`;

查询结果:
file
第二种:

SELECT dname,`一月份`,`二月份` FROM (
SELECT * FROM (
    SELECT dep,yj '一月份' FROM table1 WHERE mon='一月份'
) t1 INNER JOIN (
    SELECT dep,yj '二月份' FROM table1 WHERE mon='二月份'
) t2 USING(dep)
) t3 INNER JOIN table2 USING(dep);

查询结果:
file

以上仅仅是一家面试的题:2 道数据库查询可以学习下,欢迎大家给出更好 更多的方法,谢谢。

本作品采用《CC 协议》,转载必须注明作者和本文链接
ThinkQ
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 5

第四题的A选项应该也是对的吧?
浏览器禁用cookie后session不是可以使用的吗

5年前 评论
ThinkQ

@passenger 面试出的题是这样的是单选,最佳答案是D。我在核查下选项,谢谢。

5年前 评论

@passenger cookie都被禁用了 session就没用了 cookie类似一个private key,是去拿服务器的session的凭证,没了凭证还怎么拿session

5年前 评论

@Rekkles 禁用cookie后不是可以使用URL重写这种方法来让服务器收到的每个请求中的sessioinId么

5年前 评论

@passenger 从出题者的思路来看,只是单纯的禁用了cookie,并没有说让你做其他的操作来保存session

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!