滴滴
2016-04-27 14:01
127 查看
Java基本
两个线程A,B,如何控制线程执行顺序。要求先执行A,再执行B
应该是使用join:
Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println("t1"); } }); Thread t2 = new Thread(new Runnable() { @Override public void run() { try { //引用t1线程,等待t1线程执行完 t1.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t2"); } }); Thread t3 = new Thread(new Runnable() { @Override public void run() { try { //引用t2线程,等待t2线程执行完 t2.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t3"); } }); t3.start(); t2.start(); t1.start();
算法
数据结构
二叉树中序遍历,二叉树最近公共父节点判断是否是二叉平衡树(这个我坑了,除了判断左右子树的深度之外,还要判断左右子树是否平衡)
数据库
数据库问的很多:比如:
form1和form2两张结构一样但是数据不一样的表,找出form1中有,而form2中没有的:
我一开始说用not in,他说太卡
后来我说用左连接,他说行
这个还是需要上hive做
给出员工信息表:部门Id,员工Id,工资
employee(dep_id, user_id,bonus)
现在要求找出按部门分,每个部门工资前五的员工(这个没写出来啊):
第一步:找出一张临时表,这张表里是员工Id,员工在这个部门的排行:
user_id,rankup
需要这么来获取这张表:
select a.user_id, count(1) as rankup from Employee a, Employee b where a.dep_id = b.dep_id and a.bonus < b.bonus group by a.user_id
第二步:
把这张表和原来的employee表做关联(id关联),找出rankup小于5的:
select
e.user_id, e.dep_id, e.bonus
from
Employee e,
(
select a.user_id, count(1) as rankup from Employee a, Employee b where a.dep_id = b.dep_id and a.bonus < b.bonus group by a.user_id
) r
where e.user_id = r.user_id and r.rankup < 5
这个题需要在mysql上试一下。
相关文章推荐
- 面向对象编程
- DB2 Merge into
- Centos6下安装Mono和Jexus部署ASP.NET应用程序(纯干货)
- HDU 5171 GTY's birthday gift 矩阵快速幂
- iOS开发小技巧--利用苹果官方API播放视频(方法已经过时,了解一下)
- 什么是ASP?如何打开ASP文件
- oracle整理笔记 -----随手录3
- 【小松教你手游开发】【系统模块开发】做一个3d旋转菜单
- oracle mysql group by 对剩余字段进行拼接
- 毕业后的我
- Java之设计模式
- 图的定义和术语:
- NSFileManager和NSFileHandle的注意事项和常用操作归纳
- android studio学习----Warning:Unable to find optional library: org.apache.http.legacy
- openwrt源码下载地址(镜像)
- 弹性布局
- Java三大框架入门-struts2入门(一)
- 利用myeclipse建立webservice服务端和客户端
- Spring Aop和websocket
- 数字签名