From b59469dfee70c5b7e10956ef9bbbdd19a2fe7a1e Mon Sep 17 00:00:00 2001 From: xiongraorao Date: Tue, 28 Aug 2018 12:16:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=85=BE=E8=AE=AF=E9=9D=A2?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interview/README.md | 46 +-------------------------------- interview/experience/baidu.md | 43 ++++++++++++++++++++++++++++++ interview/experience/tencent.md | 13 +++++++++- interview/network/http.md | 42 ++++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 46 deletions(-) create mode 100644 interview/experience/baidu.md diff --git a/interview/README.md b/interview/README.md index 3ef1f57c..d7f335c6 100644 --- a/interview/README.md +++ b/interview/README.md @@ -42,51 +42,7 @@ WPS | 内推 |
  • 投递: 8.1-8.25
  • 内推直通面试
  • 面试: 8 秒针 | 内推 | 邮箱 1315215440@qq.com | 8.9 已发送邮件 百度智能云三部
  • 基础平台研发工程师 | 内推 | 邮箱:zhangzuliang@baidu.com | 8.9 发送邮件 -## 2. 面试记录 - -1. 2017.7.8, 百度SRE面试 - -面了108分钟,手机都快没电了,主要问的是项目,然后根据我的专业技能问了一些基础的东西。 - -(1) du 和 df 的区别 - -du 和 df的命令都被用于获得文件系统大小的信息; - -du, disk usage, 通过搜索文件来计算每个文件的大小,然后累加,du能看到的文件只是一些当前存在的,没有被删除的。 - -df, disk free, 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。 - -当文件系统也确定删除了该文件后,这时候du与df就一致了。 - -(2) kafka 组件 - - - -(3) HDFS读写文件等 - -2. 2017.7.27,百度深研院 - -(1) kafka 什么时候 rebalance, consumer 的 session.timeout.ms的配置项是干嘛的? -(2) java String StringBuffer StringBuilder 的区别? -(3) linux 如何查看线程、端口占用情况? -(4) java 如何实现线程安全? -(5) jvm 内存分配策略,GC 触发条件, 收集器? -(6) TCP 四次挥手的过程?time_out的缺点? -(7) mysql 的 group by 和 partition by? -答:group by 用来做聚合操作,partition by 用于对某个字段分区,然后做某些操作。 - -普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。 -分析函数的形式:分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(order by), 窗口(rows) 。 - -parition by 针对Oracle数据库 - -[参考链接](https://blog.csdn.net/cyl937/article/details/19930349) -(8) 海量数据去重,例如大量的IP地址,如何去重? -答:MapReduce -(9) 进程间通信方式? -答:管道,命名管道,消息队列,信号量,共享内存。 - -## 3. 技术范围 +## 2. 技术范围 1. 数据结构和算法 diff --git a/interview/experience/baidu.md b/interview/experience/baidu.md new file mode 100644 index 00000000..cdffe9ee --- /dev/null +++ b/interview/experience/baidu.md @@ -0,0 +1,43 @@ + +# 面试记录 + +## 1. 2017.7.8, 百度SRE面试 + +面了108分钟,手机都快没电了,主要问的是项目,然后根据我的专业技能问了一些基础的东西。 + +(1) du 和 df 的区别 + +du 和 df的命令都被用于获得文件系统大小的信息; + +du, disk usage, 通过搜索文件来计算每个文件的大小,然后累加,du能看到的文件只是一些当前存在的,没有被删除的。 + +df, disk free, 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。 + +当文件系统也确定删除了该文件后,这时候du与df就一致了。 + +(2) kafka 组件 + +(3) HDFS读写文件等 + + + +## 2. 2017.7.27,百度深研院 + +(1) kafka 什么时候 rebalance, consumer 的 session.timeout.ms的配置项是干嘛的? +(2) java String StringBuffer StringBuilder 的区别? +(3) linux 如何查看线程、端口占用情况? +(4) java 如何实现线程安全? +(5) jvm 内存分配策略,GC 触发条件, 收集器? +(6) TCP 四次挥手的过程?time_out的缺点? +(7) mysql 的 group by 和 partition by? +答:group by 用来做聚合操作,partition by 用于对某个字段分区,然后做某些操作。 + +普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。 +分析函数的形式:分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(order by), 窗口(rows) 。 + +partition by: + +(8) 海量数据去重,例如大量的IP地址,如何去重? +答:MapReduce +(9) 进程间通信方式? +答:管道,命名管道,消息队列,信号量,共享内存。 \ No newline at end of file diff --git a/interview/experience/tencent.md b/interview/experience/tencent.md index a42dedf5..4ca09c0a 100644 --- a/interview/experience/tencent.md +++ b/interview/experience/tencent.md @@ -1,4 +1,6 @@ -# 腾讯面试问题===2018.08.24 +# 腾讯面试问题 + +## 2018.08.24 1. 解释下CAP @@ -10,3 +12,12 @@ 5. UDP为什么不可靠 +## 2018.08.28 + +1. 实现字符串转Int函数需要注意的地方 + +2. 数字电路,大小端。 + +3. 语音通话保证质量和实时性,如何选用TCP和UDP + +4. 0-100万的数据,保证快速升序遍历和降序遍历,保证插入快。 \ No newline at end of file diff --git a/interview/network/http.md b/interview/network/http.md index b1ef3142..92769a45 100644 --- a/interview/network/http.md +++ b/interview/network/http.md @@ -2,6 +2,12 @@ - [Http常见状态码](#http常见状态码) - [http 和 https 的区别](#http-和-https-的区别) + - [http](#http) + - [https](#https) +- [http 2.0 的优势](#http-20-的优势) + - [二进制分帧层](#二进制分帧层) + - [服务端推送](#服务端推送) + - [首部压缩](#首部压缩) # Http常见状态码 @@ -34,4 +40,40 @@ # http 和 https 的区别 +## http +- 采用明文传输数据,内容可能遭到窃听; +- 不验证通信方的身份,通信方的身份有可能遭遇伪装; +- 无法证明报文的完整性,报文有可能遭篡改。 + +## https + +HTTPs 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPs 使用了隧道进行通信。 + +通过使用 SSL,HTTPs 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。 + +https 的加密方式: + +HTTPs 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。 + +# http 2.0 的优势 + +## 二进制分帧层 + +在通信过程中,只会有一个 TCP 连接存在,它承载了任意数量的双向数据流(Stream)。 + +- 一个数据流都有一个唯一标识符和可选的优先级信息,用于承载双向信息。 +- 消息(Message)是与逻辑请求或响应消息对应的完整的一系列帧。 +- 帧(Fram)是最小的通信单位,来自不同数据流的帧可以交错发送,然后再根据每个帧头的数据流标识符重新组装。 + +## 服务端推送 + +HTTP/2.0 在客户端请求一个资源时,会把相关的资源一起发送给客户端,客户端就不需要再次发起请求了。例如客户端请求 page.html 页面,服务端就把 script.js 和 style.css 等与之相关的资源一起发给客户端。 + +## 首部压缩 + +HTTP/1.1 的首部带有大量信息,而且每次都要重复发送。 + +HTTP/2.0 要求客户端和服务器同时维护和更新一个包含之前见过的首部字段表,从而避免了重复传输。 + +不仅如此,HTTP/2.0 也使用 Huffman 编码对首部字段进行压缩。