美团测试开发面经

以下内容的问题是从牛客网上获取的资源,答案是我根据自己的理解写的,可能有不是很合理的地方,希望大家给予指正

1、说一下输入一个网址之后,返回一个页面有哪些操作(DNS域名解析之类的)? 

DNS解析
  什么是DNS解析?当用户输入一个网址并按下回车键的时候,浏览器得到了一个域名。而在实际通信过程中,我们需要的是一个IP地址。因此我们需要先把域名转换成相应的IP地址,这个过程称作DNS解析。
负载均衡
  什么是负载均衡?当一台服务器无法支持大量的用户访问时,将用户分摊到两个或多个服务器上的方法叫负载均衡。
  什么是Nginx?Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。
  负载均衡的方法很多,Nginx负载均衡、LVS-NAT、LVS-DR等。这里,我们以简单的Nginx负载均衡为例。关于负载均衡的多种方法详情大家可以Google一下。
  Nginx有4种类型的模块:core、handlers、filters、load-balancers。
  我们这里讨论其中的2种,分别是负责负载均衡的模块load-balancers和负责执行一系列过滤操作的filters模块。
2.1.5 浏览器渲染
  1) 浏览器根据页面内容,生成DOM Tree。根据CSS内容,生成CSS Rule Tree(规则树)。调用JS执行引擎执行JS代码。
  2) 根据DOM Tree和CSS Rule Tree生成Render Tree(呈现树)
  3) 根据Render Tree渲染网页
 
 

2、ACID特性都有什么? 

ACID是指数据库管理系统中事务所具有的四个特性:原子性、一致性、隔离性、持续性
原子性
整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性
在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
隔离性
两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
持久性
在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
 

3、hashMap和HashTable的区别

HashMap和HashTable都实现了Map接口,主要区别有:线程安全性、同步、速度
1、线程安全:
HashMap是非synchronization的,HashTable是synchronization的,这意味着HashTable是线程安全的。
2、同步:
因为HashMap是非synchronization的,HashTable是synchronization的,所以需要同步的话用HashTable。
3、速度:
由于HashTable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢
 
 
 

4、对Linux系统熟悉吗?说一下用过的Linux命令?(原谅我脑容量不够,就记得这些问题,其他的应该都挺简单的,不然我也不会不记得了)。

5、链表的增删改查。

6、统计一个文件中每个单词的出现次数

grep -o "string" file | wc -l (o是精确匹配)
 
posted @ 2017-05-01 15:28  孙苗青  阅读(4016)  评论(0编辑  收藏  举报