面试心得随谈&线程并发的总结
---恢复内容开始---
线程同步有两种实现方式: 基于用户模式实现和用内核对象实现。前者偏于轻量级,性能也更好,但是只能用于同一进程间的线程同步,后者重量级,性能消耗更大,跨进程。
研读了一下windows核心编程的线程同步以及C#并行编程高级教程的ThreadPool部分,对线程的理解更深了。线程同步一般来讲有两种实现: 基于用户模式和基于内核对象,不同在于性能,FCL提供的线程并发类库就是采用第一种基于用户模式的实现。ThreadPool的QueueUserWorkItem类为了保证线程池的一致性,在全局队列中采用了原子锁同步同时还有内核对象来控制并发。总的来说,个人的最大感受就是,目前的并发同步方案都是基于一定得设计理念,但是性能耗损以及复杂度不一样,其次,就是采用的数据结构,一般来讲,队列是重点,其次就是链表和树。平时多看点有用的知识,多积累,多留心不懂得,自然会收获很多。
这几天,心不静,主要是大四上半学期快完事了,然后自己还是没有找到合适的工作(尽管过了杭州一家公司的面试,等没课了,可以去上班),常常游历于牛客网和拉勾网,但是招.net,C#的太少了,我愣是没有看到一家,java/python/php的一大堆,哎....看了下面经,除去算法的题目,其余的面试题,个人还是可以攻克的,网络部分的不是太有把握,这段时间也在复习数据结构。心理多少有些不平衡,倒不是说,我觉得自己有多牛逼,技术有多强,看了越来越多的人去不错的公司,真的是有点急,为什么我不能去?其实,说到底还是基础不扎实,毕竟相对于应届来讲,考的就是基础: 数据结构,TCP/IP网络,多线程。还有一定的时间,尽管秋招没了(当初也没有意识到要抓住秋招的机会!!!),但是自己还是可以多学点,做好准备,等学校没有事了,再去好点的公司试试。
前一个月,长春的大型招聘会去了几个,但是好公司比较少,而且没有招.net的!这就很无奈了,不过还是面试了几家,都是现场面试,总体来说,还算行吧,问的还算是基础,但是自己平时也没有太上心,答得还行吧,不知道为什么就没有后信。通过这几次面试,总的来说学到了很多,语言真的不是问题,问题一般都是与语言,平台没有多大关系的(除非是jaav的ssh)....说到底还是基础。
今天挑了几本书,这段时间好好看看,为之后的招聘做准备,书单如下:
剑指offer(这周就一直在看)
程序员面试金典
Unix网络编程
C#并行编程
CLR via C#(第四版)
当然,平时还要多看看面经