记自己的同花顺的面试

参加了同花顺的校园招聘,分享一下面试的题目

1.hashmap和hashtable的区别

1、HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。

2、HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。

3、HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

4、另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。

5、由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable。
HashMap不能保证随着时间的推移Map中的元素次序是不变的。

 

 

2.写一个排序算法

算法是同花顺比较看重的,算是一个传统了吧,楼主知道必考,但是基础问题有些薄弱,就觉得算是时间比较短,想着能用其他的点弥补一下,失策了,没太准备算是一大失误点,千万不要放弃任何可能性,不然想拿到offer也是很难的

3.聊聊你在所写的项目中框架和所写的最满意的代码

 楼主聊了聊ssh框架的一些基本工作内容和聊了聊公司做的一些东西,感觉这个比较活想,说的get到基本点然后说出大概基本就是可以的。

4.100万人抽奖你该如何设计

 我给出的答案是准备过程中答出来的自己准备的关于并发,造成网络瘫痪,还及到如何设计表,避免数据库表全局搜索延缓数据的显示,造成用户体验不佳等,基本说到了内容点,但是一个比较大的问题是感觉面试官没有得到他想要的答案,所以我主动的问了一句是不是自己可能没有get到要点,面试官说出了他的设计想法,比较绝:他说是不是可以自己在服务端先做处理,把该抽到奖全部抽好,然后放到队列里,客户过来抽奖过来即可从队列一端拿走一个,避免了所出现的问题,也不失公平。

 

 

先说说楼主吧,一个基础不太扎实的开发,什么都会用一点,但是东西时间长了不太用也就忘得差不多了,从3月份开始实习,中间6月份换了一家公司,到现在一直在从事java开发的工作,为了准备面试也是煞费苦心的,国庆一个周一直在准备java相关的基础,啃了一本java基础的面试题,结果问的第一个基础题没太关注到,尴尬了,没答出来,算法长时间没写也只是写的比较乱唯一准备了的就是在讲框架方面的应用上说的比较好,然后最后一题答到了核心的内容,总的来说也算是一个比较糟糕的面试了吧。

 

附上楼主准备同花顺做的攻略,网上搜到面试要点都罗列了出来,一一准备了,感觉还是差那么点,才明白过来面试不是大学考试,会有那么些重复的概率,但是不一定的奥,但是好好准备还是很有必要的。

posted @ 2016-10-13 23:24  九命黑猫  阅读(4252)  评论(0编辑  收藏  举报