招行网银科技面经

写在前面的几句话,发发牢骚。跑了三天,从8号开始到现在,投了六家公司,面试了两家,现在晚上九点半坐在回保定的车上,耳机里放着老许的《那一年》。不知道自己的offer啥时候会来,一直在投南京的岗位,北京和太原的也投了一点,一直有颗乐观的心,不甘平庸,可一直悲剧。现阶段除了投投投,面面面,也不知道该怎么做。

面试不好的原因,其实就是能力达不到,今天问的问题,没有准备好,有些东西不是突击就能解决得了的,要靠平时的积累, 但是,犯过的错,不应该再让他出现。

昨天女朋友说我辛苦,其实我不怕幸苦付出,只怕自己的付出没有收获,我现在选企业和单位,其实也是这样,我能吃苦加班出差,如果你能给我相应的回报,那我就愿意选择这样的公司作为我职业生涯的第一站,并且努力工作,贡献自己的一份力量。

1、java的跨平台性:

java的跨平台,实际上说的是不管你在那种平台上开发,都可以在任意平台上运行。java的程序运行,实际上是在java虚拟机jvm上运行。因此,只要你的机器上装了jdk,都可以运行java程序。

=============================

2、linux命令:删除某个目录下前5天的文件:

语句写法:
find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \;
例1:
  find /usr/local/backups -mtime +10 -name “.” -exec rm -rf {} \;
  将/usr/local/backups目录下所有10天前带”.”的文件删除
  find:Linux的查找命令,用户查找指定条件的文件
  /usr/local/backups:想要进行清理的任意目录
  -mtime:标准语句写法
  +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
  “.“:希望查找的数据类型,”.jpg”表示查找扩展名为jpg的所有文件,”“表示查找所有文件,这个可以灵活运用,举一反三
  -exec:固定写法
  rm -rf:强制删除文件,包括目录
  {} \; :固定写法,一对大括号+空格++;
  若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。
例2:
  1.#touch /usr/local/bin/clear
  #chmod 777 clear
  新建一个可执行文件clear
  2.vi clear
  编辑clear文件如下:
  #!/bin/sh
  find /usr/local/backups -mtime +10 -name “.” -exec rm -rf {} \;
  ok,保存退出
  3.#crontab -e
  将clear文件加入到系统计划任务,到点自动执行
  输入:
  * 2 * * */usr/local/bin/clear
  这里的设置是每天凌晨2点执行clear文件进行数据清理,可以研究一下cron,制定自己需要的计划任务
  示例:
  #!/bin/sh
  find /usr/local/jboss-4.2.3.GA/server/default/log -mtime +6 -name”server.log.*” -exec rm -rf {} \;
  exit
  [root@web3 ~]# crontab -l
  * 2 * * * sh /root/AutoDelLog.sh
  这样每天晚上2点执行这个脚本,脚本是删除6天前的文件
find /etc/rc.d -name ‘*crond’ -exec file {} \;
  查找/etc/rc.d目录下面所有以crond结束的文件,并使用file指令查看其属性,注意:exec和file间是一个空格,file和{}间是一个空格,{}和\;之间是一个空格,\;是一个整体。

========================

3、如何理解java的垃圾回收:

首先应该知道,java中创建一个对象是在堆中,但是堆的大小是有限制的,不能无限制的创建,当你创建的对象把堆放满的时候,jvm开始进行垃圾回收。(其实还有一种情况就是jvm长时间空闲的时候,也会执行垃圾回收)。
1)首先确定哪个对象是“垃圾”;引用计数法、可达性分析
2)然后明确java的垃圾回收算法;标记清除、标记整理、复制、分代算法
3)典型的垃圾回收器;
http://www.cnblogs.com/dolphin0520/p/3783345.html

=========================

4、sql的关键字排序:

(8)SELECT(9)DISTINCT
(1)FROM
(3) JOIN
(2)ON
(4)WHERE
(5)GROUP BY
(6)WITH {CUTE|ROLLUP}
(7)HAVING
(10)ORDER BY
(11)LIMIT

每步关键字执行的结果都会形成一个虚表,编号大的关键字执行的动作都是在编号小的关键字执行结果所得的虚表上进行(或者说编号大的关键字处理的对象是编号小的关键执行过后得到的虚表),以此类推。

标准的 SQL 的解析顺序为:
  (1) FROM 子句 组装来自不同数据源的数据
  (2) WHERE 子句 基于指定的条件对记录进行筛选
  (3) GROUP BY 子句 将数据划分为多个分组
  (4) 使用聚合函数进行计算
  (5) 使用HAVING子句筛选分组
  (6) 计算所有的表达式
  (7) 使用ORDER BY对结果集进行排序
(8)使用SELECT对字段进行选择显示
执行顺序
  1. FROM:对FROM子句中前两个表执行笛卡尔积生成虚拟表vt1
  2. ON: 对vt1表应用ON筛选器只有满足 join_condition 为真的行才被插入vt2
  3. OUTER(join):如果指定了 OUTER JOIN保留表(preserved table)中未找到的行将行作为外部行添加到vt2,生成t3,如果from包含两个以上表,则对上一个联结生成的结果表和下一个表重复执行步骤和步骤直接结束。
  4. WHERE:对vt3应用 WHERE 筛选器只有使 where_condition 为true的行才被插入vt4
  5. GROUP BY:按GROUP BY子句中的列列表对vt4中的行分组生成vt5
  6. CUBE|ROLLUP:把超组(supergroups)插入vt6,生成vt6
  7. HAVING:对vt6应用HAVING筛选器只有使 having_condition 为true的组才插入vt7
  8. SELECT:处理select列表产生vt8
  9. DISTINCT:将重复的行从vt8中去除产生vt9
  10. ORDER BY:将vt9的行按order by子句中的列列表排序生成一个游标vc10
  11. TOP:从vc10的开始处选择指定数量或比例的行生成vt11 并返回调用者
  如果我们了解了SQL Server执行顺序,那么我们就接下来进一步养成日常SQL的好习惯,也就是在实现功能的同时有考虑性能的思想,数据库是能进行集合运算的工具,我们应该尽量的利用这个工具,所谓集合运算实际就是批量运算,就是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。

========================

5、oracle中有一个判断函数:

decode()函数:
先来看看它的用法 decode(条件,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)
它的意思也就是这样
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ……
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

那这个有什么用呢,用处可就大了.比方说 select count() from news 我们统计NEWS中的新闻条数,如果大于1000 的话就提示大于限制了.这样 select decode(count(),1000,’己经超出限制’,limit) 这样limit 输出的就为’己经超出限制’这个字符串. 我们还可以用这个判断大小 a=10,变量b=20 则sign(a-b)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 decode(sign(a-b),-1,a,b) 如果a

6、Hadoop的运行原理:

http://blog.csdn.net/yclzh0522/article/details/6859778

时间:2016.10.12

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值