面试之二百度

1.计算机网络

问:在浏览器里敲入一个网址,会发生哪些过程,经历哪些设备?

问:传输的时候为什么要从运输层到数据链路层,路由的详细过程是怎么样的?

问:网络序是什么?大端模式还是小端模式?x86的本机序?

问:写个小端模式转大端模式的函数。

问:什么叫负载均衡?

负载均衡有两种,一种是,海量的IP访问,能够导向不同的服务器。HTTP反向代理,DNS解析器。另一种是对于重载的单任务,将其分解成很多小任务,分配给不同的服务器,服务器处理完后,归并整理,得到总的结果。最后均衡负载的算法是一致哈希算法,处理服务器的增删问题尤其好,虚拟节点是为了解决平衡性。注意和一般哈希算法的区别,一般哈希算法的应用是HashMap及其resize。

2.操作系统

问:写个多进程、多线程死锁的程序。

问:shell编程,现在给一个日志文件,有3列为ip列,访问时间,内容,用shell编程找出访问量最多的10个ip?

3. 分布式优化

问:在高并发的时候,怎么提高效率?

并发读写。在数据库前面加一个缓存,采用数据分片,将大文件分成很多小块,并行地写入多个服务器上;读的时候也可以并行的读,然后整理成一个文件(归并和分治的思想)。这样把串行读写变成并行读写,提高效率。

问:如果现在是10台服务器,现在要变成20台服务器,设计一种方案,是服务不中断,不影响客户。

数据迁移。现在的IT企业数据迁移一般都放在凌晨,尽量减小对客户的影响。我的方案是,从某一时间点开始数据迁移,读数据从原来的10台服务器读,写数据写在新的20台服务器上,同时原有的10台服务器的数据向新的20台服务器迁移,等到数据全部迁移完毕,所有的读写都在新的20台服务器。而且对写入新的20台服务器的数据进行标记,每次访问读数据时,如果访问的是迁移时刻后的数据,就读取新的20台服务器,否则读取老的10台服务器。

问:怎么保证数据的可靠性?

多副本技术,数据片在不同的服务器上至少存2个副本,2个副本之间互相同步,一个crash,系统会向上report,会重新创建一个副本,这样就可以提高数据的可靠性。

4.编程

问:memorycpy,strcpy编程实现。

问:二叉树找最低公共祖先。

问:实现二分查找。

迭代方式

//迭代实现,从小到大有序
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static Comparable binarySearchInterator(Comparable[] data, int target){
		int first=0,last=data.length-1, middle=-1;
		while(first<=last){
			middle=(first+last)/2;
			if(data[middle].compareTo(target)==0){
				break;
			}else if(data[middle].compareTo(target)>0){
				first=middle-1;
			}else{
				last=middle+1;
			}
		}
		return middle;
	}
递归方式

//递归实现
	@SuppressWarnings("rawtypes")
	public static Comparable binarySearchRec(Comparable[] data,int target){
		Comparable result=null;
		int first=0,last=data.length-1;
		result=RecHelp(data,target,first,last);
		return result;
	}
	
	@SuppressWarnings({ "unchecked", "rawtypes" })
	private static Comparable RecHelp(Comparable[] data,int target,int first,int last){
		int middle=(first+last)/2;
		if(first>last)
			return -1;
		else if(data[middle].compareTo(target)==0)
			return middle;
			else if(data[middle].compareTo(target)>0){
				return RecHelp(data,target,middle+1,last);
			}else{
				return RecHelp(data,target,first,middle-1);
		}
	}



问:求时间复杂度

int i=0;
int s=0;
while(s<N)
   s+=i++;
5.逻辑题

问:100个人,100盏灯,开始等都是关着的,每个人走一遍,如果等的序号是人的序号倍数的,按下灯开关,最后那些灯是开着的?

问:效率和质量出现冲突,怎么解决?

效率第一,兼顾质量,先保证有,在保证好。如果在时间节点之前不能交货,就是事故,要负责,如果能交货,即使在质量上有些小问题,后续可以继续完善。

问:职场交流中,有什么技巧?

互相尊重,劳动成果,隐私。分享,分享最新知识和技术。交流沟通,幽默感。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值