我们正在面试一个高级Java开发角色,我们要求完成这个问题的所有三个人给了我们同样错误的答案.问题是在面试之前完成的,所以他们有很多时间.他们的解决方案似乎是通过parentId和childId对输入进行排序,而不是从输入创建树,然后遍历树以找到正确的顺序.问题不够明确吗?
题:
以下是Java Developer角色的简单技能和演示测试,必须在电话访问之前完成.
需要:
JUnit测试
NodeSorter接口的实现
题:
我们有一个看起来像这样的Java对象:
public class Node {
public int id;
public Integer parentId;
public Node(int id, Integer parentId) {
this.id = id;
this.parentId = parentId;
}
}
Run Code Online (Sandbox Code Playgroud)
例如,以下节点列表可能以图形方式显示为:
节点(id:1,parentId:null),Node(id:2,parentId:1),Node(id:3,parentId:1),Node(id:4,parentId:2),Node(id:5, parentId:3)
Node (id: 1)
/ \
/ \
/ \
/ \
Node (id: 2) Node (id : 3)
/ \
/ \
/ \
/ \
Node (id: 4) Node (id : 5)
Run Code Online (Sandbox Code Playgroud)
假设:
总会有至少一个节点
将有一个且只有一个节点具有null parentId
每个节点都有一个有效的parentId,除了具有null parentId的Node
要求:
假设我有睡眠功能:
def sleep(delay:Int) : Unit @suspendable = {
....
}
Run Code Online (Sandbox Code Playgroud)
是否有可能有一个函数future来创建一个可以同步等待的睡眠函数的异步版本.
def future(targetFunc: (Int => Unit @suspendable)) : (Int => Future) = {
....
}
class Future {
def await : Unit @suspendable = {
....
}
}
Run Code Online (Sandbox Code Playgroud)
你应该能够做这样的事情:
reset {
val sleepAsync = future(sleep)
val future1 = sleepAsync(2000)
val future2 = sleepAsync(3000)
future1.await
future2.await
/* finishes after a delay of 3000 */
}
Run Code Online (Sandbox Code Playgroud)
对sleepAsync的两次调用应该会立即返回,而对Future#await的两次调用应该会阻塞.当然它们都会在重置结束时掉线,后面的代码负责在延迟后调用延续.
否则是否有另一种方法可以并行运行两个@suspendable函数并等待它们完成?
我有一个可编辑的要点与我想做的骨架:https://gist.github.com/1191381
是否有一个javascript框架将使用CSS3 Transitions来改变不透明度或移动元素等效果但是如果不支持则会回退到使用javascript setInterval/setTimeout?
我希望能够停止监听linux中的服务器套接字,并确保从客户端的角度打开的所有连接都得到正确处理而不是突然关闭(即:接收ECONNRESET).
即:
sock = create_socket();
listen(sock, non_zero_backlog);
graceful_close(sock);
Run Code Online (Sandbox Code Playgroud)
如果认为调用close()和处理已经接受的套接字就足够了,但是如果你在服务器套接字上调用close(),那么在内核backlog中可能会打开连接,这些连接会突然关闭.
在多线程程序上运行strace时,我得到如下结果:
[pid 14778] futex(0x7fd8082f266c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fd8082f2668, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
[pid 14780] <... futex resumed> ) = 0
Run Code Online (Sandbox Code Playgroud)
注意参数在一行上<unfinished...>,结果在另一行上<...resumed>.没有与其结果相关的参数会降低strace的效用.在跟踪多线程程序时,是否可以使strace在同一行上打印结果和参数?
有没有人知道一些很好的值与extjs-theme gem的modulate选项一起使用?
说我有一个blob的SHA.我可以去git show并查看blob的内容.是否有可能获得包含该blob的所有提交的列表?
我正在编译 32 位二进制文件,但想在其中嵌入一些 64 位程序集。
void method() {
asm("...64 bit assembly...");
}
Run Code Online (Sandbox Code Playgroud)
当然,当我编译时,我会收到有关引用错误寄存器的错误,因为寄存器是 64 位的。
evil.c:92: Error: bad register name `%rax'
Run Code Online (Sandbox Code Playgroud)
是否可以添加一些注释,以便 gcc 将使用 64 位汇编器来处理 asm 部分。我有一个单独编译的解决方法,使用 PROT_EXEC|PROT_WRITE 映射到页面中,然后复制到我的代码中,但这非常尴尬。