经过几天的雾霾,魔都终于放晴了。哥投了几天的简历,希望找到一份.NET开发方面的岗位。也收到了几个面试邀请。这不应Ge老师的要求,选了个良辰吉日,带着身份证,学位证怀揣着2B青年的梦想来这个XX公司面试。我答应Ge老师的电话邀请的一个重要原因是该公司位于北京广播电视大学学习中心。俺们是农村来的,但也听过北京广播电视大学的大名,做为二十六七仍单身的我,能有机会和广播电视大学的众美女工作在同一楼层,自然是求之不得,心情那个爽。

大概早上9点多,我进了9层906A室,一个漂亮的前台妹妹眼睛很亮,温柔的问:“您是来XX公司面色的吧?” 我说: "嗯". 又问简历带了吗?我说“没”,毕业证,学位证带了吗?我说学位证带了,毕业证如果你们要看,到时候再给你。她说好的。然后给了一张简历表,一张XX公司的笔试题目。共4道题目,对于年年拿奖学金的我来说,考考基础题当然是什么问题都没有。最后一题目是编程题,好久没写这些控制台程序了,看起来还是比较亲切。(题目是手写的,字很清秀,估计是XX公司觉得题量小,免得让人觉得忽悠忍,于是让一个可爱的妹妹后补上的。)

先把这题目分享给大家,大概是这样的:输入一个数n,然后将该数从1 ……n打印出来。格式如下:

然后我就分析呀,有点像等比公式,接着就按这个思路,求其行数,然后输出结果。看一下我分析的图:

有了思路,就来连连笔实现吧。

1. 用递归来求等比数列的通项公式

         // 1. 分析数字,利用递归获取输入数的等比公式,然后求其行数
public static int GetPowerValue(int n)
{
if (n < )
{
return ;
}
else if (n == )
{
return ;
}
else if (n == )
{
return ;
}
else
{
return * GetPowerValue(n - );
}
}

2. 获取输出的行数

         // 2. 获取行数
public static int GetColumn(int num)
{
int column;
for (column = ; column < num; column++)
{
if (num >= GetPowerValue(column) && num < GetPowerValue(column + ))
{
return (column+);
}
}
return -; // 没有找到合适的行数,退出
}

3. 打印结果

        // 3. 打印结果
public static void OutputTraingle(int num)
{
int column = GetColumn(num); if (column == -)
{
return; // 退出
} for (int i = ; i <= column; i++)
{ for (int j = GetPowerValue(i-); j < GetPowerValue(i) && j<= num; j++)
{
Console.Write(j + " ");
}
Console.WriteLine();
}
}

4. 主程序

         static void Main(string[] args)
{
Console.WriteLine("\n===== Output traingle =====\n"); Console.Write("Please enter the test number: ");
int num = Convert.ToInt32(Console.ReadLine()); OutputTraingle(num); Console.ReadKey();
}

5. 测试结果

答完这张4道题目前后用了40~50分钟吧,然后把题给了漂亮的妹妹。妹妹说,我找面试官给你面试,让我先等一下。

大概过了5~6分钟,一个戴着眼睛,皮肤黑黑的类似阿三的男的过来了,他很不客气的板着个脸坐下了,然后指点示意让我坐下。一边埋头看我简历一边让我自我介绍一下,接下来我就自我介绍了,当然我可以肯定的是他让我自我介绍的目的,无非是好在这段时间内看我的简历,确切的说看我的工作经验。(这里要说一下:我目前从事的微软外包的开发测试工程师,工作经验主要是用C#写测试代码,涉及的技能有C#,SQL Server,因为工作中也涉及到UI方面的验证,所以对前台的JS, JQuery,Ajax都用得比较频繁,自己也是杨中科老师Asp.net网络视频爱好者,自我评价:这种人才到那找!) 他问我有没有纯开发经验,我说什么较“纯”,你Y的意思从项目启动到项目结束都走一遍,就较“纯”吗?我现在的老领导,在外包公司从事开发工作五、六年也没有把整个项目都走一遍。他算不算“纯”开发人员?!然后我很诚实的回答,没有。

然后那个阿三又说你期望工资是多少?我说XXK,他说你的期望离我们的要求还是有点高。然后我又说我目前的工资是XK,工作半年多涨(XX-X)K要求不是过分呀。最后确认了好几遍,我急了就问你们能给多少,那个鸟人说连你目前的工资都给不到。我X,你Y的忽悠我啊。让我上班时间跑你这面试!

后来哥就写了这篇笔记,一来是分享一下自己找工作的经历,二来是提醒那些所谓的面试官别把自己太当回事,出了你的窝,你已一样。嘚瑟个毛,鸟人!

小议 - 来自《XX时代XX公司》的笔试编程题目的更多相关文章

  1. tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless

    在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSiz ...

  2. Nopcommerce商城添加【满XX减XX优惠券】功能

    公司的电商网站要做个优惠券的功能,nop框架,但我接触nop时间不多,最后还是为了功能而完成了.这中间肯定有很多小问题. Nopcommerce自带的促销功能感觉不是很好,首先优惠券功能放在购物车页面 ...

  3. xx市xx项目运维工作方案

    注:提供给各位正在做项目,或准备做项目的朋友,仅供参考,用于后期运维提供的方案模板.仅供参考. 因为直接从word复制,会有一些排版的问题.可以留邮箱. xx市xx项目运维工作方案 xx有限公司 20 ...

  4. -XX:PermSize -XX:MaxPermSize 永久区参数设置

    -XX:PermSize  -XX:MaxPermSize   –设置永久区的初始空间和最大空间 -XX:PermSize 设置持久代(perm gen)初始值,物理内存的1/64 -XX:MaxPe ...

  5. JAVA -Xms -Xmx -XX:PermSize -XX:MaxPermSize 区别

    java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError ...

  6. [Irving]WPF Invalid character in the given encoding. Line xx, position xx.' XML is not valid.

    WPF开发中发现Xaml界面中突然抽风似的提示错误 Invalid character in the given encoding. Line xx, position xx.' XML is not ...

  7. 猎豹上市(猎豹的广告收入中有70%来自BAT三家公司,总收入中有58%来自BAT)

    发表日期: 2014 年 5 月 9 日 From 网易专题 文/赵楠 村里那点儿事 猎豹移动上市之夜,我挺激动. 激动除了因为有好朋友在这家公司外,也因为猎豹移动在历史上的几次起承转合非常不易,在巨 ...

  8. java -Xms -Xmx -XX:PermSize -XX:MaxPermSize

    java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError ...

  9. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

随机推荐

  1. 关于C++ 循环

    有的时分,可能需求屡次履行同一块代码.通常情况下,句子是顺序履行的:函数中的第一个句子先履行,接着是第二个句子,依此类推. 编程言语供给了答应更为杂乱的履行途径的多种操控结构. 循环句子答应咱们屡次履 ...

  2. ios 获取当前设备信息、内存

    //在[UIDevice currentDevice]中的属性 @property(nonatomic,readonly,strong) NSString *name; // e.g. "M ...

  3. JavaScript 函数的定义-调用、注意事项

    函数定义 函数语句定义 function(a,b){ return a+b; } 表达式定义 var add = function(a,b){return a+b}; //函数表达式可以包含名称,这在 ...

  4. 怎么看iOS human interface guidelines中的user control原则

    最近离开了老东家,整理整理思路,因为一直做的是微信公众号相关的产品对app的东西有一段时间没有做过了,所以又看了一遍iOS human interface guidelines,看到user cont ...

  5. EXCEL数据导入数据库实例(NPOI)

    Default.aspx 页面代码: 引用了:    <script src="../../js/jquery.easyui.min.js" type="text/ ...

  6. java多线程基本概述(十三)——Executor

    1:Executor接口 public interface Executor 执行已提交的 Runnable 任务的对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等 ...

  7. Entity Framework查询注意

    首先我们看下where的方法,直接查看定义(定义如下),其实一种是对IEnumerable的扩展,一种是对IQueryable的扩展,直接看最常用的,其实区别就在IEnumerable的扩展的参数是系 ...

  8. 第三章 Docker的镜像

    3.1.获取镜像 获取镜像 docker pull name[:TAG] #默认是从网络下载镜像,不指定tag会人下载latest标签下的镜像. 1 2 docker search ubuntu do ...

  9. list、set、map区别

    list是有序且重复的; list中的数据都是按照写入的顺序排列的,存入list的数据用add方法写入; list可以用循环遍历list以达到获取全部数据的目的,同时也可以通过下标get(index) ...

  10. java集合的核心知识

    1.    集合 1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式. 集合的出现就是为了持有对象. ...