Algorithm
Java/Python
基础
分布式
BQ
100

Quick Sort的时间复杂度

最坏O(n^2),平均(nlogn)

100

Python中List和Tuple的底层数据结构是?

Array

100

具有Three-way Handshake和Four-way handshake的网络协议

TCP

100

CAP理论代表什么

Consistency

Availability

Partition Tolerance

100

亚麻领导力准则到现在共有多少条

16

200

那种二叉树比较适合用数组顺序存储,而不方便用链式存储?

- 完全二叉树

- 满二叉树

- 完美二叉树

完全二叉树,完美二叉树

200

XX是Java运行时环境的一个组件,Java程序最初是通过解释器(Interpreter)进行解释执行的,当多次调用发生时,JVM会发现某个方法或代码块运行特别频繁,就会认为这是“热点代码”(Hot Spot Code)。
为了提高热点代码的执行效率,就会将这些“热点代码”编译成与本地机器相关的机器码,进行各个层次的优化。完成这个任务的编译器就是?

Just In Time Compiler (JIT)

200

True or False:

指令级别层面上 If Else == goto

True

200

Some of the ways for the client-side to connect with the server-side in real-time? List 3.

Polling, Long-Polling, Websockets

Server-Sent Events (SSE), and Comet

200

下面四个关键概念组成了面试和简历中的?

Situation - What was the situation?

Task - What goal were you working toward? 

Action - What action did you take?

Result - What was the result of your action?

Star Method

300

浏览器的前进后退功能用哪种基本数据结构比较好?

Stack

300

Java 8 及以后的版本中的HashMap用了哪些数据结构来实现

Array, LinkedList, Heap/Red Black Tree

300

HTTPS的S代表什么

Secure Sockets Layer (SSL)

Transport Layer Security (TLS)

300

True or False:

Kafka的所有通信都是基于TCP的

True

300

列出至少五项亚麻领导力准则

  1. Customer Obsession
  2. Ownership
  3. Invent and Simplify
  4. Are Right, A Lot
  5. Learn and Be Curious
  6. Hire and Develop the Best
  7. Insist on the Highest Standards
  8. Think Big
  9. Bias for Action
  10. Frugality
  11. Earn Trust
  12. Dive Deep
  13. Have Backbone; Disagree and Commit
  14. Deliver Results
  15. Strive to be Earth’s Best Employer
  16. Success and Scale Bring Broad Responsibility
400

查找图中的最短路径,通常用的算法思想?

BFS

400

下面的my_de被称为一个

def my_de(func):

    def wrapper():

        print('wrapper of xx')

        func()

    return wrapper


def greet():

    print('hello world')

    

greet = my_de(greet)

greet()


# 输出

wrapper of xx

hello world

Decorator装饰器

400

列出三种进程间通信的方式

Pipe

FIFO

MQ

Shared Memory

Semaphore

Socket

Signal

400

传统的文件转移通常需要从用户态去转到核心态,经过read buffer,然后再返回到用户态的应用层buffer,然后再从用户态把数据拷贝到核心态的socket buffer,然后发送到网卡。

kafka减少了用户态与核心态之间的切换 ,从而使传输更快,这种机制称为?

Zero Copy

400

哪个科技公司做了以下事情

The Crown 

BoJack Horseman

House of Cards

Neflix - 奈飞文化手册

500

分析下面代码的时间复杂度



 // array表示一个长度为n的数组

 // 代码中的array.length就等于n

 int[] array = new int[n];

 int count = 0;

 

 void insert(int val) {

    if (count == array.length) {

       int sum = 0;

       for (int i = 0; i < array.length; ++i) {

          sum = sum + array[i];

       }

       array[0] = sum;

       count = 1;

    }


    array[count] = val;

    ++count;

 }



amortized time complexity: O(1)

500

两个注解的区别:

1、AnnotationONE是JDK原生的注解,AnnotationTWO是Spring2.5 引入的注解

2、AnnotationONE有两个属性name和type。Spring将AnnotationONE注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

AnnotationTWO只根据type进行注入,不会去匹配name。如果涉及到type无法辨别注入对象时,那需要依赖@Qualifier或@Primary注解一起来修饰。

@Resource

@Autowired

500

攻击者伪造大量的IP地址向服务器发送 SYN 报文,因为伪造的IP地址基本不存在,客户端也就不可能有响应,服务端就需要维护一个非常大的半连接等待列表,不断的对这个列表的 IP 地址遍历和尝试,服务器的大量资源就会被占用。大量的恶意客户端信息占满服务器的等待队列后,服务器会不再接收新的SYN请求,正常的用户就无法完成三次握手与服务器通信。

这种web攻击方式称为?

DDoS - SYN Flood

500

Redis支持的数据类型

string,hash,list,set,zset (sorted set)

500

一旦发现项目延期了,应该有哪些具体的应对措施呢?

1. 建立一定的流程。这里包括计划制定流程和计划跟进流程,也许是每周一次的同步会议,也许是一个共享的任务管理工具。

2.在整个项目计划中,要有明确的优先级。

3.制作一个共享的项目状态表,让团队成员可以一眼就看清楚项目进展,并保持该图表的更新。

4.不要漏掉任何一个人。

M
e
n
u