解析 BAT 大厂的经典面试题(上篇)

 解析 BAT 经典面试题

解析 BAT 大厂的经典面试题(上篇)_第1张图片

Hello,大家好。我是公众号 “八点半技术站” 的小编 - Bruce.D。

今天是周四(2020-05-14),分享一句谚语 “读书有三到,心到口到眼到” 分享给大家的是 「工具 模块」- 协议状态码。

很多人对 BAT 以及其他大厂,也是朝思暮想。也因为一些原因,暂时还未能加入。大厂中有很多经典面试题,直到现在也会用,不要问小编为什么知道()。

因此欢迎热爱 IT编程的各位精英,欢迎进入wechat技术群(底部有二维码)一起交流成长

花几分钟时间看看经典BAT面试题,浏览浏览,或许对你有用!!!

1

1. 给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 0 和1 概率一样。

思路:

1、执行两次给的函数,第一次返回1,第二次返回0的概率为(1-p)p

2、执行两次给的函数,第一次返回0,第二次返回1的概率为p(1-p)

3、循环执行两次函数,如果一次返回0,一次返回1则返回0或1

代码:

解析 BAT 大厂的经典面试题(上篇)_第2张图片

2

2. 10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。

思路:

1.首先将给定的url调用hash方法计算出对应的hash的value,在10亿的url中相同url必然有着相同的value。

2.将文件的hash table 放到第value%n台机器上。

3.value/n是机器上hash table的值。

将文件分布在多个机器上,这样要处理网路延时。假设有n台机器。

>>首先hash文件得到hash value v

>>将文件的hash table 放到第v%n 台机器上。

>>v/n是机器上hash table的值。

分析:

将文件的url进行hash,得到值value,相同的url的文件具有相同的value,所以会被分配到同一台机器v%n上。在同一台机器上的重复的url文件具有相同的value/n值,如果出现了冲突,不同的url在同一台机器上也可能有相同的value/n值。在每个机器上将value/n值作为key,url值作为value构成hash表进行去重。最后将内存中去重后的hash表中的value值即url写入磁盘。合并磁盘中的各部分url文件,完成去重。

56byte;

4G =4*1024=4096kb=4096*1024 byte;

     


3

3. DNS 解析过程(域名)

解析 BAT 大厂的经典面试题(上篇)_第3张图片

主机解析域名的顺序

1. 找缓存

2. 找本机的hosts文件

3. 找 DNS 服务器

注:配置IP 和 主机时,要记得修改 etc/hosts 文件,因为有些应用程序在主机内的进程之间通信,会用本机的主机名,如果主机不能解析到正常IP地址,那么通信失败。

Q:浏览器如何通过域名去查询URL对应的 IP 呢?

A:

1. 浏览器缓存:浏览器会按照一定的频率缓存DNS记录。

2. 操作系统缓存:如果浏览器缓存中找不到需要的 DNS 记录,那就去操作系统中找。

3. 路由缓存:路由也有DNS 缓存。

4. ISP 的 DNS 服务器:ISP 是互联网服务提供商的简称,ISP 有专门的DNS 服务器应对DNS 查询请求。

5. 根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。

Q:浏览器如何通过域名去查询URL对应的 IP 呢?

A:

大的高并发网站可能不止一个IP 地址,根据不同的网络他们会有很多的IP 来做集群。

     

恭喜你,又读完了一篇文章。

在这里,希望你看完的 每篇文章 都能对自己有所提升(哪怕是帮助你再次巩固记忆)。

解析 BAT 大厂的经典面试题(上篇)_第4张图片

微信 : xzzs730(长按左侧二维码添加)

技术群:上方微信+备注

(技术交流)

IT面试群:上方微信+备注

(技术面试)

你可能感兴趣的:(解析 BAT 大厂的经典面试题(上篇))