zoukankan      html  css  js  c++  java
  • 4月博文

    以前说过一个月要更新至少一篇博客,4月分没有更新- -,4月分在找工作,3月底辞职了,也说说这几年来的感受吧。


    从2012年进入任我行,到今年已经一晃三年了,也正是在这个节点上,我才犹豫,才迷茫,也导致我离职吧,不过可能也主要不是这个原因,我自己是认为三年来没有什么发展,领导未提拔吧。总的感觉来说有一些成绩,但是领导可能关注点不一样。怎么说呢,每个人理解不一样,比如对一个东西做评价一样,有人认为是个宝,有人认为是草,不说这么大的差距,就如同股市价格一样,有人看多有个看空,但总的来说是会有一个价值存在的。如果老板同自己看的差别过大就会导致离职吧。
    路漫漫其修远兮啊

    这里对任我行公司做人评价吧,任我行确实是我很尊敬的一个公司,她养活着一大帮人,提供了很多就业机会,而且任我行的文化也很不错,发展有些年了,各方面都很完善。也是她这几年给了我机会,在这段时间里我买房,装修,结婚等大事都需要经济支撑,是她给了我这些条件,像公积金,之前几家公司未有过。很感激公司,也很感激领导。这三年我感觉在技术主可能不发前面三年来得快,学得多。但是这三年我感觉更成熟些了,可以说刚毕业出来三年是成长,那么这三年是成熟?未来三年是什么?会有自己的成果吗?所以我选择了出来看看,真心不能安逸在里面,生于优患,死于安乐,所以我一定会出来看看。

    4月开始各种找工作,面试了很多家,刚出来也是期望很高,13-14K的开,在成都.net可能确实也拿不到这么多,其实我目标有点转项目管理这块,但可能条件不成熟,面试很多都是开发,我自己也对项目管理这块有实践,也有理论,但是没机会。以前也做过一些项目的方案,带过项目,但是没机会有什么办法?后来也慢慢妥协了,最后在一家创业公司留下来,各方面都是危机,这个也是命运的安排吧,这个看怎么理解,对于技术方面确实会学到一些新的,不说新的,自己以前没有用过的东西吧。走一步算一步吧。大方向不能变,局部肯定会有弯路,不经过九九八十一难也不能取到真经。

    下面是我面试过程中遇到的一些题,我不确定答案,还有一些忘了,没有一一列出来。


    1.HttpHandler与HttpModule的用处与区别?

    HttpHandler是针对一类型的文件,映射给指定的处理程序对请求进行出来。并且映射,与处理都发生在asp.net已经指定好的事件中。
    而HttpModule则是针对所有的请求文件,映射给指定的处理程序对请求进行处理,而这些处理,可以发生在请求管线中的任何一个事件中。也就是说你订阅哪个事件,这写处理就发生于那个事件中,
    处理过后再执行,你订阅过的事件的下一个事件,当然你也可以终止所有事件直接运行最后一个事件,这就意味这他可以不给HttpHandler机会,很牛的HttpModule。

    HttpHandler的使用
    在Web.config中注册,并完成对应的处理代码,要求继承IHttpHandler
    HttpModule的使用
    用法与Handler类似,但是要注意,Module是过滤所有的请求,所以尽量做好类型判断。

    2.Socket通信过程

    建立套接字
    在INET BSD套接字上绑定地址(bind)
    在INET BSD套接字上建立连接(connect)
    监听INET BSD 套接字(listen)
    接受连接请求(accept)

    这里主要是大体结构相同,有些说法就没有INET BSD,可能这个更为详细,但是大体结构不变,绑定,连接,监听,接受等

    3.当i大于10的时候会不会死锁,为什么?

    public void test(int i)
    {
            lock (this)
            {
                if (i > 10)
                {
                    i--;
                    test(i);
                 }
            }
    }

    还有几次遇到这个问题,不知道他们的答案是否也是那个答案,如下
    不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
    奇葩答案,我知道网上流传的就是这个版本,我到底是怎么回答呢?我回答的是不会,因为是同一个线程当中。
    这里我先不说原因,这个int改为object很容易啊。网上的朋友有做过测试吗?

        class Program
        {
            static void Main(string[] args)
            {
                //A a = new A();
                //a.test(11);
    
                //Console.WriteLine("没有死锁");
    
                B b = new B();
                Bi bi = new Bi() { Data = 13 };
                b.test(bi);
                Console.WriteLine("没有死锁");
    
                Console.Read();
            }
        }
    
        public class B
        {
            public void test(Bi i)
            {
                lock (this)
                {
                    if (i.Data > 10)
                    {
                        Console.WriteLine(i.Data);
                        i.Data--;
                        test(i);
                    }
                }
            }
        }
    
        public class Bi
        {
            public int Data = 0;
        }

    总结:

      1.4月未更新,补上,离职一些感受

      2.几道面试题,在网上找了找综合一下

      3.最后一个lock问题下一篇来分析(其实以前有一篇文章有关的)

  • 相关阅读:
    10/11
    el表达式的坑
    在idea下两个项目之间的maven父子级项目依赖
    树上任意两点间距离
    优先级顺序
    HDU 6447
    KMP
    cf 1029 C
    牛客练习赛25
    莫比乌斯算法
  • 原文地址:https://www.cnblogs.com/gw2010/p/4482491.html
Copyright © 2011-2022 走看看