心惊惊,追随雷军的脚步。毕业干了 4 年多技术工作和技术管理工作,我突然有一天觉得自己应该找一个像样的团队,特别要有一个像样的老板。于是给 ucweb 投了一份简历。对,其实我是冲着移动平台和雷军去的。应聘“资深软件工程师(软件服务器部分)”,要求如下(注释里是我的想法):
职责描述:
在Linux系统中,进行应用系统软件服务器相关软件的设计、开发和测试。
基本要求:
(1)本科以上学历,计算机相关专业;// 本人是如假包换的科班出身
(2)有5年以上软件开发经验;// 如果计算上大学的时候做兼职的开发经验,5年还是有的。
(3)有3年以上Linux或UNIX使用经验;// 试过一大圈,debian 比较适合我,完了几年,然后 ubuntu 出来了,好像更适合我。windows 已经从我笔记本上删除 1 年多了。3 年是小 case。
(4)熟练掌握以下一种以上开发语言:C/C++/JAVA/PHP/PYTHON;// C 不敢说,只是用来写 PHP 的 ext;C++ 也只是用了一年的 C++ Builder;JAVA 本科学了一遍,研究生又学一遍,做作业,写辅助工具都靠它;PHP 不说了吧,我很自信,这是唯一一个除了 Delphi外可以用精通形容而不心虚的;PYTHON 不熟,只是随便玩玩,改改别人的程序而已。
(5)熟练使用以下一种以上的数据库Oracle/Mysql数据库;// Oracle 仅仅算是用过,PL/SQL 带着手册勉强能用;Mysql 虽然了解不深,但是一般写写触发器,弄弄存储过程是没问题了。
(6)了解HTTP协议,掌握HTML语法;// 这个我有自信,好歹 TELNET 模拟 HTTP 协议也弄过不少。
(7)对新技术感兴趣,有钻研和开拓精神;// 如果不是为了这个,我何苦巴巴的要去应聘 UCWEB 呢?
(8)良好的英文阅读能力,学习能力强,思维敏捷;// 好歹做了那么多英文文档翻译,写不出来,读还是能读懂的。
(9)为人正直,工作勤奋主动,有责任心,具有团队协作精神。// 这个……就算没有也要说有吧?
昨天接到 ucweb 的 MM 打电话过来说今天下午 3 点面试,开心。1 点多出了门,到电脑城顺便买了东西,晃到他们楼下 2 点 45 分。时间拿捏的还是可以的。上到去,好像不少人在面试。前台的 MM 说坐下等等,顺便做份笔试(这份笔试我做得应该鄙视自己)。C++和JAVA两种,我还是选 JAVA 保险(怎么没有 php?)。前面是所谓性格测试题,后面有一些基础概念和编程题目。做得不好,在纸上写代码,对于我这种喜欢先写关键逻辑,再填充细节代码的人来说简直是噩梦。随便写写吧,反正一会面试,可以简单解释一下思路(衰就衰在这里)。答完卷子,3点40分,写得有点慢……等,空调好像有问题,应该是密封带松了,前台MM找了大楼管理处……桌子上有两袋香蕉,两袋橘子……看来待遇不错……喝水……前台MM送了本书,随便翻翻吧……喝水……一个哥们跑过来拿香蕉,顺手给了我一个,开聊,挺好打交道的……他们说还不放音乐,4 点,看来下午茶时间了……大家很热情,又给我了橘子和香蕉……一个哥们过来拿,我就顺水人情,把手里的橘子和香蕉递给了他(后悔啊,没仔细看他是谁)……大家继续上班,我继续看书……4点半,前台MM跟我说经理开会,今天没空了,回去等通知吧……我哭死,那我不是白跑一趟?更哭死的是,据可靠消息,经理就是我递给橘子和香蕉的那位,早知道,我就先让他面了我,再递橘子和香蕉了。
打道回府,这个面试,这个衰啊。看来“雷军”也不是那么容易追随的……
回来路上没闲着,仔细想了想刚才那个大整数相加的问题。自己做得还是很有问题的,回来以后整理思路,重新写了一个。还有优化空间,不过随意了,没心情了……
shear 一下给大家,娱乐一下吧,其实改改应该就可以实现大浮点数相加了:
public static String addBigInt(String a, String b) {
// 令 a 总是长于 b
if (a.length() < b.length()) {
String tmp = a;
a = b;
b = tmp;
}
StringBuilder result = new StringBuilder();
// 初始进位为 0
int added = 0;
for(int i = 0; i < b.length(); i ++) {
if (i == b.length() - 1 && i == a.length() - 1) {
// 如果两个字符串等长,并且执行到结束
int x = Integer.parseInt(a.substring(a.length() - i - 1, a.length() - i))
+ Integer.parseInt(b.substring(b.length() - i - 1, b.length() - i))
+ added;
result.insert(0, x);
break;
} else if (i == b.length() - 1) {
// 连接长串剩余部分
result.insert(0, Integer.parseInt(a.substring(a.length() - i - 1, a.length() - i)) + added);
result.insert(0, a.substring(0, a.length() - i - 1));
break;
}
int x = Integer.parseInt(a.substring(a.length() - i - 1, a.length() - i))
+ Integer.parseInt(b.substring(b.length() - i - 1, b.length() - i))
+ added;
// 计算当前位
result.insert(0, x % 10);
// 计算进位
added = x / 10;
}
return result.toString();
}
今天的面试经验是:笔试能写多简单就写多简单,然后注明详细解释需要一定时间,面谈;随时打探面试进度,不要埋头看书;不要吃陌生人的香蕉;不要随便把手上的橘子和香蕉给不认识的人,特别是那些可能是经理的人;任何工作,放到下午茶之前完成,后面的是会议时间。
Leave a Reply