【面试】记录几天的面试过程

        在深圳也是第二次面试了,第一次因为来深圳力求稳定,所以仅仅要有公司发了offer就去了,可是如今一想,还是多考虑这个公司的文化和是否适合自己的发展。所以这里总结了我如今选择公司的几大因素(1.企业文化,2.成长平台 3.公司能否为员工的努力谋取福利),非常多公司easy画饼给你,这些都须要你自己去推断和查阅。能够通过互联网了解公司,应届生第一份工作感觉还是对你自己以后的路影响蛮大的。 ╮(╯▽╰)╭,说多了~~~

        直入主题吧。第一家公司,公司的总部离住的地方非常远,坐了四五十分钟的地铁加转了一次公交才到,精疲力竭。然后就在一个大的会议室里面做题,里面有几个程序猿比我先来,也先做了起来。题目例如以下:


1.List,Set,Map中不能存储反复数字的数据结构是?

2.分析下列程序,n1.i和n2.i的值是多少?

public class AgainStatic {
	public static void main(String[] args) {
		Number n1 = new Number();
		Number n2 = new Number();
		n1.i = 35;
		n2.i = 65;
		System.out.println(n1.i+ " "+n2.i);
	}
}

class Number{
	static int i = 45;
}

这个涉及静态域的一个知识,有easy出错。大家细致体会一下~~~


3.下列程序有错吗? 有错请指出:

abstract class abs {
	private String str;
	abstract public boolean isEmpty(String str); 
}


4.Map里面的value值能够加List或Map吗? List里面能够加List或Map吗?

这个题我考虑了非常久,答好这个题要对底层源代码或者他们各自之间的结构要非常了解哦。

5.String str = "abc-def-ghi"  不使用split方法,在下列方法中实现返回一个Srting[],返回的字符串数组是{"abc","def","ghi"}

public static String[] split(String sequece,char sepreator){
	
}

关于这个题,我回去看了String类的split方法的源代码,參照他把他模拟出来,能够參考:

public class Split {
	public static String[] split(String sequece,char sepreator){
		int next = 0;
		int offset = 0;
		int limit = 0;
		boolean limited = limit > 0;  //init false;
		ArrayList<String> list = new ArrayList<String>();
		while((next = sequece.indexOf(sepreator,offset))!=-1){
			if(!limited || list.size() < limit-1){
				list.add(sequece.substring(offset, next));
				offset = next + 1;
			}else{
				list.add(sequece.substring(offset,sequece.length()));
				offset = sequece.length();
			}
		}
		
		// Add remaining segment
		if(!limited  || list.size()<limit){
			list.add(sequece.substring(offset,sequece.length()));
		}
		
		int resultSize = list.size();
		String[] result = new String[resultSize];
		return list.subList(0, resultSize).toArray(result);
	}
	
	public static void main(String[] args) {
		String sequece = "abc-def-ghi";
		/**
		 * 用split方法一步到位额,可是这里要求不行,所以我们就自己写了一个split方法哦。
		 * String[] str = sequece.split("-");
		 */
		String[] result  = split(sequece, '-');
		for(int i=0;i<result.length;i++){
			System.out.println(result[i]);
		}
	}
}


6.还有就是一些sql语句的题目了,大家能够看看学生选课的sql实例。

7.关于超过十万条大型数据的并发处理,解决方式?


        第二家公司,一进去就看到办公桌两边坐了两排人,看来这公司招的人积极扩张啊。然后前台MM给了我试题,我坐下一看,愣了~~~  不是程序题,而是“mensa”智力题,门萨智力题,啊!~~~ 突然认为这公司是坑的,可是来都来了,把题目认真的做完了(尽管都是凭感觉做的),然后一个技术就来面试我了。问了我一些C语言的基本的语法特点,如推断,循环等。(有点弱智啊~~~),然后就问怎么交换两个数,不用中间变量,我就答到了a = a+b;  b = a-b; a = a-b; 事实上还有非常多,比方位运算,栈实现,指针实现等,能够自己试试(面试官说非常多面试的童鞋还不会,顿时把我惊呆了~~~)。然后就是聊各种爱好和自己对这个行业的感受。

        两家公司都基本拿到offer了,这次求职路程还是非常轻松。星期一就正式入职了,希望能继续奋斗下去,加油加油!!!

        近期对前端知识也很感兴趣,也加了一个群,共同探讨,这里分享一个学习IT的站点,感觉比較好,视频没有广告,叫“慕课网”。一起加油!奋斗


        以下就是应届生求职的一些感悟:

        1.基础非常重要,企业并不在于你有多强的技术能力,仅仅要你基础扎实,一般的企业既然邀请你来面试,说明有想法培养你,所以你仅仅要做好自己,答好面试官的题目,展示自己的激清,这就非常能够了。

        2.是否真正决定踏入这个行业,假设你解决一个bug问题,能兴奋一阵的话,那么希望能将这激清保持下去,体会编程的乐趣。



        最后以一首席慕容的《分享》结尾:

赞赏你的人能够使你充满自信

批评你的人能够使你愈挫愈勇

伤害你的人能够使你更加坚强

疼惜你的人能够使你知道感恩

依赖你的人能够使你拥有能力

想依靠的对象能够让你歇歇脚

 

(转载本站文章请注明作者和出处 Coder的不平庸 ,请勿用于不论什么商业用途)




  

posted @ 2015-01-02 15:35  zfyouxi  阅读(166)  评论(0编辑  收藏  举报