wj903829182的专栏

我收到美团网的笔试时间是2014年9月24号在湖大进行比试,笔试的题目我刚看到就有点怕了,,我拿到手里翻了下,咋都是算法类型的题目,貌似都是用c写的,而我已经很久没有用c写过代码了,更不要说算法了,算法也只有大一的时候做了点acm的题目,就那点底子也早就忘了,顿时我的心就有点慌了。深深的吸了口气,稳定下心来,安慰自己,怕什么了,来都来了,跑的累死了,反正死猪不怕开水烫,于是就开始动手答题了。现在只模糊的记得几道笔试的题目了,如下:

1,求把一个字符串转换成整数,转换出错,则返回0,大概意思是这样吧。

我想到的的解决办法是,把每一个字符提取出来,比如’9′,字符’9′-‘0’字符9减去字符0就是所对应的数字了(数字加’0’就得到对应的数字字符)。把得到的数字化成sum=sum*10+num;sum是累加的和,num是字符对应的数字,开始sum为0.

2.构造一个函数把一个整数从高位到低位,比如123,存储到单链表中,比如第一个结点存1,第二个结点存2,第3个结点存3,函数返回单链表的头指针;构造函数把前面的单链表乘个位数(0-9),把结果存到单链表中。

对于第一步,我想到的解决办法是

做完笔试后,自我感觉还行吧,想应该过了。回来后,快晚上12点了,我一个同学跟我说,他收到了电话,说叫他明天去面试,问我收到没,我说没收到啊,心有点凉了担心自己没过了。一直到第二天上午11点才收到美团姐姐给我的电话,通知第二天去面试,心情瞬间有点小激动了,因这是我第一次正式面试,处女面啊,能不激动嘛?(在之前有一个阿里的面试在武汉,太远了,又觉得没得多大的希望,就没浪费钱去面试了。)

上面说了点笔试的题目,现在进入正题吧,说下我的一面:

我选择的面试时间是下午1点半,地点是中南科教南楼,因为我要赶车,所以去的比较的早,在教室休息了下了。快1点的时候开始往面试的地方走去,中间遇到了一个湖大的,专门是搞算法的,貌似很厉害,后来了解到,他面试过百度,阿里,腾讯,至少比我厉害吧,我笔试都没过,我不是搞算法的,还面试了cvte,进了3面,听说cvte耍人挺严重,10几万人只招300多人,貌似有点坑。后来去签了到,在一个教室里面等面试,我是第二批进去的,进去时候,没有空闲的面试管,一个hr姐姐,叫我等下,就只能等下了。后来给我面试的时一位帅哥,看起来还蛮和蔼的。我走过去,开始拿出草稿本和笔,准备面试(觉得有点遗憾的,成绩单和一些荣誉证书拿去了,没拿出来。)。面试官哥哥开始让我做下自我介绍。。。我就皮拉啪啦说了下,其中他做了下笔记。然后就正式的问我问题了。

1.你说说这笔试题目难?

这问题答的不太好,我说笔试都是算法和c语言的题目,而我已经很久么碰过c了,所以有点难度,后来问我学什么的,我说是学java的,有问了我是想搞后台开发还是android开发,这里回答觉得有很大的问题,我就不说了,我应该肯定说是搞android开发的。

2.java的反射机制。

反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力。

java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接。反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活应用代码的主要工具。需要注意的是,如果使用不当,反射的成本会很高。

详细内容参照:

3.数据库的隔离机制,什么是乐观锁,悲观锁,有什么区别。

数据库提供了4中隔离级别:隔离级别描述READCOMMITED(读已提交数据)只允许事务读取已经被其他事务提交的变更,可以避免脏读,但不可重复读和幻读问题仍然会出现SERIALIZABLE(串行化)确保事务可以从一个表中读取相同的行,在这个事务持续期间,禁止其他事务对该表执行插入、更新和删除操作,所有并发问题都可以避免,但性能十分低

详细的请参照:

导读:

事务:是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。

数据库事务的ACID性质:

原子性:一个事务对数据库的所有操作,是一个不可分割的工作单元,这些操作要么全部执行,要么什么也不做。

一致性:一个事务独立执行的结果,应保持数据库的一致性,即数据库不会因事务的执行而遭受破坏。

隔离性:多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,此时事务达到隔离性要求。

持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中,不会丢失。

数据库并发带来的3个问题:

丢失更新,读脏数据问题,不可重复读问题。

丢失更新问题:简单的理解,数据更新错误

读脏数据问题:在数据库技术中,把未提交的随后被撤销的数据称为脏数据。容易引起自身更新操作被丢失,破坏了数据库的完整性。

不可重复读:t1需要2次读取同一项数据项a,但是在两次读操作的间隔中,另一个事务t2改变了a的值。因此,t1在2次读同一项数据a时却读出不同的值。

锁分为排他锁和共享锁:

接受自己的失败面,是一种成熟,更是一种睿智;

wj903829182的专栏

相关文章:

你感兴趣的文章:

标签云: