周四正在回学校的车上,接到hr的电话通知明天下午要电话面试。回到学校就开始搜电话面经之类的东西……乱七八糟看了一堆,然后又把做过的项目、数据结构、算法之类的简单过了一遍。当时记住不少,但到面试时几乎全忘了,非常悲剧。

这几天正在给别人做网站,对方要求发布在内网里,所以需要去他们那实地测试。在他们的机房里只有我一个人,很安静,很适合接个电话什么的,幸运。

面试一共有三轮。之前以为只有一个人面试,以至于第一个面试完成度巨烂草草9分钟结束时心想卧槽这么快一定毁了,听人家说不都是一小时左右么- -!不过总体表现还是很傻逼,基本上一直在被问并且一直这个不会啊不好意思……问题后来想想都不难啊!当时脑抽到了什么程度……

总结一下面试问的问题吧。

killkill -9的区别?

当时我答的是强制和非强制,面试官追问具体区别,我就说了“linux信号分两种一个是强制的一个是建议的”(傻逼死了不能忍啊)……面试官好像愣了一会儿说从父进程和子进程角度分析呢?我说我不会然后就没然后了。

搜了下,确实有类似我上边说的原因,kill默认发TERM信号,kill -9则发KILL信号,"software termination signal"vs"non-catchable, non-ignorable kill"TERM可捕获后忽略,KILL则不行。

但是面试官好像不想让我说这个,按照子进程父进程搜,找到一篇《kill掉父进程,子进程不同的运行方式》,里面提到了进程组、会话等等,于是又搜到这篇《进程间关系:进程、僵尸进程、孤儿进程、进程组、前台进程组、后台进程组、孤儿进程组、会话、控制终端》,看得有点晕,稍后再整理成另一篇文章好了。(但是这和面试官的问题没多大关系啊,可能当时我太紧张记错了?)

SQL的INDEX对一个字段索引和对两个字段索引有什么区别

没用过INDEX我会乱说么……然后面试官就问如果让你实现INDEX命令大概会怎么搞?我:hash和树之类的结构吧……

这里:数据库索引技术—索引介绍 (一)数据库索引技术-聚集索引和非聚集索引介绍(二)数据库索引技术–聚集索引和非聚集的区别和建立原则(三)数据库索引技术–复合索引介绍(四)。准备找本好书重新学一遍数据库。

你觉得python和java间的区别是什么

两个面试官都问了这个问题,应该是看到我简历上写了正用python&django做网站。我对第一个面试面试官说的是python是动态类型语言不用关心类转型什么的,还说java用起来很难受有种写八股文的感觉(我在面试java开发啊卧槽),说完面试官就沉默了……我一想确实哪点不太对,到第二个面试官问到同一个问题时就说了java需要重启服务器热交换什么的也不好用,而python则不用很轻松语法表达更流畅blablabla,这次感觉面试官反应稍好点。之后面试官就问lambda,我:我知道,但,不会用。赶紧强调自己刚学python不到一个月,做了一个小web应用等等……

synchronized在static方法和非static方法上有什么区别

我说我好像在哪本书上看过,但是,忘了。面试官就说没关系你先说说static方法和非static方法的区别(好人一生平安),我:blablabla,面试官:恩,那加上synchronized呢?,我:哦~blablabla。一个是对类加锁另一个是对实例加锁。

BST的插入删除过程

在面试官提示和无限耐心下基本答出来了。

快速排序的最坏情况,如何优化

恩,分成的两段一个不包含任何元素一个包含剩下的所有元素,O(n2),随机。

单向链表找环

“用两个指针,一个的步长为 1,另外一个的为 2,从表头开始一起往前走,如果相遇,表明有环路,否则就是没有了。”出自这里

我不会。然后面试官说那问你个简单的吧,就问了下面的。

单向链表倒置

数据结构考试考过。

还有一些问题类似一句话介绍ssh就不说了。

这次面试收获很大,最重要的是学习一定要认真。