小编ben*_*phy的帖子

这个面试问题有多清楚?

我们正在面试一个高级Java开发角色,我们要求完成这个问题的所有三个人给了我们同样错误的答案.问题是在面试之前完成的,所以他们有很多时间.他们的解决方案似乎是通过parentId和childId对输入进行排序,而不是从输入创建树,然后遍历树以找到正确的顺序.问题不够明确吗?

题:

以下是Java Developer角色的简单技能和演示测试,必须在电话访问之前完成.

需要:

  1. JUnit测试

  2. 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)

假设:

  1. 总会有至少一个节点

  2. 将有一个且只有一个节点具有null parentId

  3. 每个节点都有一个有效的parentId,除了具有null parentId的Node

要求:

  1. 编写一个实现以下接口的类,该接口将接收节点列表并从上到下对它们进行排序(树中较高的节点必须位于树中较低的节点之前.例如,顶部的节点1树的必须在树的底部的节点4之前.同一级别的节点将按其id的顺序排列,因此id = 2的节点将出现在上图中id = …

java

12
推荐指数
4
解决办法
2410
查看次数

将Scala @suspendable方法转换为未来

假设我有睡眠功能:

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

continuations scala

12
推荐指数
1
解决办法
838
查看次数

使用Javascript后退的CSS3过渡

是否有一个javascript框架将使用CSS3 Transitions来改变不透明度或移动元素等效果但是如果不支持则会回退到使用javascript setInterval/setTimeout?

javascript css animation css3

11
推荐指数
1
解决办法
5639
查看次数

Linux中的优雅关机服务器套接字

我希望能够停止监听linux中的服务器套接字,并确保从客户端的角度打开的所有连接都得到正确处理而不是突然关闭(即:接收ECONNRESET).

即:

sock = create_socket();
listen(sock, non_zero_backlog);
graceful_close(sock);
Run Code Online (Sandbox Code Playgroud)

如果认为调用close()和处理已经接受的套接字就足够了,但是如果你在服务器套接字上调用close(),那么在内核backlog中可能会打开连接,这些连接会突然关闭.

c linux tcp

11
推荐指数
1
解决办法
1万
查看次数

Strace多线程程序

在多线程程序上运行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在同一行上打印结果和参数?

linux strace

7
推荐指数
1
解决办法
5714
查看次数

Extjs Sass主题宝石

有没有人知道一些很好的值与extjs-theme gem的modulate选项一起使用?

https://github.com/extjs/extjs-theme

css themes extjs sass

5
推荐指数
1
解决办法
3651
查看次数

Git List由Blob提交

说我有一个blob的SHA.我可以去git show并查看blob的内容.是否有可能获得包含该blob的所有提交的列表?

git

4
推荐指数
1
解决办法
1078
查看次数

32 位 GCC C 程序中的内联 64 位汇编

我正在编译 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 映射到页面中,然后复制到我的代码中,但这非常尴尬。

assembly gcc

2
推荐指数
1
解决办法
2549
查看次数

标签 统计

css ×2

linux ×2

animation ×1

assembly ×1

c ×1

continuations ×1

css3 ×1

extjs ×1

gcc ×1

git ×1

java ×1

javascript ×1

sass ×1

scala ×1

strace ×1

tcp ×1

themes ×1