A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨敏Yummy 中级黑马   /  2013-8-29 18:00  /  4183 人查看  /  11 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

说明一下:其实这并不算严格意义的上面经,也不是来透题的,只是觉得黑马上关于.NET面试流程写的比较少,大部分同学还是有疑问的,所以有此文!另外版主看到了给我加个技术分吧!{:soso_e100:})

北京时间下午8.29号下午三点整,约好的面试如期而至,面我的就是蔡红威老师那!

首先是寒暄,比较囧的是一开口就把蔡老师喊成了吕老师,我想蔡应该是瞬间石化了吧。不过没关系,就当暖个场吧!

以下进入正题:
1. Self-Introduction:先是自报家门,为何来黑马,对编程的兴趣等。
2. 常规面试问题:为什么选择dotnet,使用dotnet能干什么,你的职业规划是什么。这些东西其实就是考察你是不是想清楚了,对这个行业有没有基础的认识。然后小薇老师问了我一个在老板、品牌、薪水中会选择哪个的问题。我的回答是会选择品牌,因为品牌是常年累积下来的,是一个公司的无形资产。可口可乐公司的品牌几百亿,不是说一朝一夕就形成的,而是在于它的从产品到服务到市场这一套价值体系。所以说一个好的品牌是一个好的公司的保证。如果让大家选择一家IT公司去上班,大家大部分都会想去BAT吧,这就是品牌的效应。后来老师问对老板怎么看。一开始比较语塞,后来觉得一个好的老板也是非常重要的、工资的决定权跟他有关,公司的发展前景跟他有关,职业晋升的权利也在他手上。然后又扯了好的老板能带出一个号的团队。薪资我说其实很重要的一部分,黑马的就业薪水想必是吸引大家的原因之一。其实答的比较乱。
3.技术面试:
首先啥都不说,是骡子是马,拉出来溜溜!
(1)编程实现:
小明的妈妈每天会给他20元零花钱,小明每天花一半存一半,每过7天小明又会把所有存款花掉一半,请编程计算小明需要多少天才能存够100元?
(in ten mins).
我看了一下,觉得大概是用循环来做,就想到用for循环,刚写两句,发现到了第七天就写不动了,然后就一直在纠结怎么把这个第七天的存款给表示出来。尝试了一下,准备使用do-while,写了几步还是卡到第七天怎么写的问题上了。然后正当我纠结的时候,小薇来一句:写完了没有,发过来给我看看。于是我把只有一个do-while的空壳代码段发了过去。接着我跟小薇说,这道题我说我有思路,但是具体写的时候有点紧张,然后说了下我思路。然后她说你完了之后回去再好好想想。

(2)于是来了第二题:谈一谈面向对象。我大概描述了一下面向对象的三个特性。感觉不是很顺,题目很简单,但是很大很空,大家以后遇到说说实际的例子吧。

(3)结构和类的区别:这个因为自己之前有整理过,论坛里也有帖子说到,大家可以看一看。主要是数据类型、继承性、内部结构里面的区别。大家可以理解加记忆。

(4)谈一谈GC:如果你不知道GC,那赶紧百度去。垃圾回收器,简称GC。我大概说了一下C#中有这么一种动西,会对程序内存自动清理。然后小薇说具体什么时候执行。我说当检测到内存中不再访问的对象时自动调用。接着小薇问我,那你知道怎么调用吗。这个,我还真没有用过。然后我说我猜大概是S.GC()或者S.GarageCollector().小薇笑而不语,其实那时候我已经看不到她的脸了。后来一查,是这样System.GC.Collect();回收。

(5)以下是一些零碎的问题:

5.1下面程序的输出结果
            int a = 10;
            int sum = a++ - 10;
            Console.WriteLine(a); Console.WriteLine(sum);
            Console.ReadKey();

5.2 以下程序的执行结果是什么?
string str ="Hello传智播客";
Console.WriteLine(str.ToUpper());
A)hello传智播客
B)HELLO传智播客
C)hellochuanzhiboke
D)HELLOCHUANZHIBOKE

5.3 下面的类中,Age属于什么属性?
class Person
{
   int age;
   public int Age
   {
      get{return age;}
   }
}

到这里技术部分结束。
接下来就是黑马百问百答:
您到黑马后准备怎么学习。
黑马不允许中途退学你知道吗(我们是有组织有纪律的!!!)
你家里人知道么?
先付费后付费。
黑马的住宿。
您对黑马的疑问。

End。

其实还没完!
对于刚刚那倒没做出来的题,我大概又花了个25分钟终于搞定了,然后我厚着脸皮给小薇发了过去。小薇良久以后给我来了一句:呵呵,回去再好好写代码。
以下是代码部分,正确性未知,仅供参考,

            int day=1; //统计天数
            int deposit = 10;//初始存款(第一天的存款)
            do
            {
                if (day % 7 == 0) //每个周天的存款
                {
                    deposit = (deposit + 20) / 2;
                }
                else
                {//周一到周六的存款
                    deposit = deposit +10;
                }
                day++;
            }
            while (deposit < 100);
            Console.WriteLine("天数为{0}",day);
            Console.ReadKey();

前后面试了大概50分钟,总算结束了。
没多久小薇更新了我的面试结果35。稍微有点低,不过考虑到我的面试表现,还是很感谢小薇给的分数。Finally 103.

收拾收拾,准备回国了,回国倒个时差,准备开学!!!大家黑马见!


11 个回复

倒序浏览
你在哪个国家?这么牛b?
回复 使用道具 举报
nb,跟我的面试情况差不多...
回复 使用道具 举报
心动行动 发表于 2013-8-29 18:56
你在哪个国家?这么牛b?

大法国~~~其实就普通人一枚
回复 使用道具 举报
就是我 发表于 2013-8-29 19:54
nb,跟我的面试情况差不多...

呵呵,只有人写出来了,大家才知道啊
回复 使用道具 举报
int a = 10;
            int sum = a++ - 10;
            Console.WriteLine(a); Console.WriteLine(sum);
            Console.ReadKey();
第七天呢?这都能过?
回复 使用道具 举报
熊丽 中级黑马 2013-8-29 22:40:57
7#
呵呵,你是学什么专业的
回复 使用道具 举报
            int day = 0, lin = 0,chun=0,linc = 0;
            while (true)
            {
                lin += 10;
                if (day % 7 == 0)
                    lin = lin / 2;
                chun = lin;
                if (chun > 100)
                    break;
                day += 1;
            }

18天

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
呵呵,当时面试我的是吕老师,问的有的和你差不多,那个编程题我做的时候有点紧张,断断续续的做了20分钟,用了两个循环,还有考虑到第7天那里我当时好紧张,求余写成了等号,其实只用一个循环就能搞定,下来我只用了5分钟就做出来了,说实话,当时我面试真的好紧张,本来所存钱最后应用大于等于100判断,一紧张就忘了大于号,只写了等于号,唉,不过只要我们上进,努力就行,这是我面试过后把那个题重新做了一遍的代码,大家看看有没有错误,最后运行结果是14,也就是14天就能存到大于100了,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test02
{
    class Program
    {
        static void Main(string[] args)
        {
            const int b = 20;//将小明妈妈每天给小明的钱定义为一个常量
            double temp = 0;//记录每经7天后所存的钱
            double sum = 0;//求每七天存的钱
            for (int i = 1; i < 100; i++)//这里i就可以表示天数
            {
                sum +=b/2;
                if (i % 7 == 0)
                {
                    temp += sum;
                    sum = sum / 2;
                    if (temp>= 100)
                    {
                        Console.WriteLine(i);
                        break;
                    }
                    else { continue; }
                }
            }

            Console.ReadKey();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
{:soso_e141:} 你们曝光了流程有意思木有,知道的越多,竞争力越大哦。。。。
回复 使用道具 举报
黑马-吕老师 发表于 2013-8-30 11:06
你们曝光了流程有意思木有,知道的越多,竞争力越大哦。。。。 ...

吕老,再出一道其他题
回复 使用道具 举报
我去,说的这么详细!{:soso_e120:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马