Mar 11
--begin by itlife365
找工作有感-面试经验收集,来源于网络某个高人的面试经验
找工作有感-面试经验收集-怎么面试 面试经验
技能
魅族 百度 华为 美团 腾讯 平安 腾讯
如何怎么面试魅族 面试百度 面试华为 面试美团 面试腾讯 面试平安 面试腾讯 面试经验
how to mianshi
在2013年硕士毕业的时候,本来可以挣扎一下,但是没想太多稀里糊涂的去了武汉某单位,到了之后越来越感觉和自己的人生规划相去甚远,虽说待遇还可以,但是一眼就能看到头的生活,感觉不太适合我,当然还有其他各种原因,比如说媳妇不在武汉,于是提交了辞职报告,开始了自己的找工作之旅!其实能做这个决定还是仗着自己985计算机科班出身,而且技术还没有丢掉完的优势的,呵呵,不要喷!

  毕业以后找工作确实不易,都是要相关经验的,除非正好遇到谈得来的面试官,要不死的会很惨,基础技能是一方面,但是相关工作经历是公司更加看中的,也就是说基础知识是能不能进公司的前提,二相关工作经验会加分很大,在很多时候会对自己的薪水影响很大.现在想想应届毕业生真的很幸福,想当年只要好好准备下,国内bat应该希望很大的,华为什么的也只能是用来垫底的,并且大家感觉如果要是进了华为,而且不是核心部门的话,那应该算是自己没好好准备或者时运不济(这主要是针对计算机专业的,通信专业等的华为肯定还是很牛逼的).回到主题,这一个多月先后经历了魅族、百度、美团、华为、腾讯、平安的面试,中间可能还会和一些其他的公司搞两下,但基本上自己没有太上心,后续的面试可能还会有微软、阿狸、百度之类的,但感觉也差不多了,写出来,给大家看下,交流下,算是对自己这段时间的总结.

技能
   先介绍下自己的 基本技能,数据结构和算法自己感觉基础还可以,本科和研究生期间系统学过,算法导论看过,对各种算法的实现都仔细研读过.C\C++,java都能用,而且有相关经验,C\C++是本科就学过的,可谓根深蒂固,大学里所有作业都是用这两种语言写的,工作后也做过大的项目,但是总是感觉没有深入用过c++的一些深层次的技术,感觉不靠谱,像stl源码分析、c++对象模型、more effective c++、boost这些书一直准备看,可是一直也没看,整个来说,自己对c++还是不太自信;java的话是2012年接触的,这么一算也有3年了,但是的我个人使用的经验来说,感觉还是java用的比较实在,做过一些事情,多线程、集合类、servlet、applet等都用过一些,对java并发包concurent的源代码,大部分也读过,jvm规范也读过,最近在读java并发实践,所以感觉自己对java基础掌握应该还算可以,但是缺点是没有过java比较经典的几个框架是,什么SSH、ibatis等等,不过对于原理应该还是了解的,知道他们是干嘛呢,大致实现也知道就是没用过;python、shell也用过一段时间,基本的东西也清楚,但相对于java、c++来说可以忽略不计;数据库方面,技术应该也可以,真正用过mysql,但是对于mysql的实现了解不是很全面,都是在论坛上看的,没有系统看过像mysql技术内幕 innodb实现原理(好像这么叫)、高性能mysal等牛逼大师的书籍;前端的技术也了解过,曾经因为一个项目得需要按照w3school.com的内容都通读的一遍,什么html、css、js、jquery、dtd等等,都基础一些,但是不深.对于liunx应用的话也没问题,曾经刚刚接触linux的时候,装个centos,抱着鸟哥的私房菜搞了两遍,第一遍它强奸我,第二遍我强奸它,就这感觉,应该掌握的还可以,没被问倒过.设计模式的话,gof的那本叫什么来着,看过23种设计模式,当然也看过其他的书籍,但是消化多少就不知道了,但是应付面试就差不多了.当然其他的基础知识也有,但是都记不清了,像计算机网络、操作系统等等;就这些了,可能还有其他的,但是其他的感觉也没差说的了,什么uml,各种测试工具啦,我相信只要是科班出身的都会接触过的.言归正传,开始面试之旅!

魅族
  就按时间顺序来说吧,先说说魅族,说起来魅族真是感觉自己很幸运,这也是我现在更喜欢魅族手机的重要原因,魅族这工作找的简直是太nice了.有一天在一个校友群了,有一条消息,说魅族缺人,要招人,做android,我当时辞职报告还没交,我想试试呗,不过还是有点犹豫的,因为魅族在珠海,我老婆可是在上海的,我本来是想到上海找工作的,但是也是个机会啊,就好好做了简历给师兄发过去了,师兄就在QQ上问问了我的基本情况,然后对我说,可以给HR说声,安排面试.过了两天,hr给我打电话,说安排面试,我说我在武汉,能不能电话面试,结果就电话面试了,在确定面试时间的时候,我特意往后推了几天,因为我得准备下啊,直接面那绝对会死啊,和hr通完电话后,我就和师兄说了声,定了时间,师兄问我怎么面试时间定这么晚,我如实相告,说自己准备不充分,怕面试官面试的时候搞不定,给咱们哈工丢人.面试的时候是定在一天晚上7点,然后我老早的就准备好了,7点五分的时候,面试官打来电话,就开始面试了,面试官看我做过c++,也有java就让我说区别,哦,那肯定是虚拟机、面向对象的程度、效率方面、垃圾回收啊什么的,说了好几条,最后面试官就顺着问垃圾回收的机制,怎么能出现内存泄露,怎么避免等等,又问了java的集合类,遍历方法等等的,最后问我我对面向对象怎么理解,我就说就是把数据包装一下,提供接口啊,好像不是面试官要的答案,就接着问,你知道面向对象三大特性吗?我当时蒙了,我靠还有3大特性,忘了,当时我说我想想,这个真好想没看到过,面试官说你总结下,我想了想,应高有封装吧,继承应该也有吧...,哈哈,想起来了,应该是封装继承多态,接着面试官有问了下多态的概念和使用方面的事情,接着就问android,我说我不懂,没接触过,但是准备学习.然后就没再面技术了.说着说着我问了一句,我们在QQ里联系过吗,他说是啊,哈哈,原来是师兄,我靠,搞的太紧张了,然后就聊了聊学校的事情等等,最后他问我我为什么想去魅族,我说我是魅族的粉丝,我的手机是mx2,媳妇的手机是mx3,他笑了笑,又谈了一会就决定要我了,当时说工资可能不高,因为我没有相关经验,我就说工资无所谓,能有机会就行,其实这真是我当时的想法,哎,感谢师兄能给我这次机会,就这次电话面试有半个小时吧,就决定要我哦,这就是信任,我去魅族也是跟他干活的,他是这个产品的老大.非常感谢,真的非常感谢!不过现在感觉要是我不去魅族,有点对不住我这位可爱的师兄.虽然没见过面,但是确实给予了机会和信任!但是我也敢保证,我如果跟他干,肯定能干好!

百度
  过了段时间,大概1月初的样子,百度的一个同学联系,我说魅族要我了,他说,你跑珠海搞毛啊,媳妇在上海,去上海呗,然后他就给我推荐了,上海的百度,是个java的职位,过了大概有一个星期,百度的hr打电话说要安排面试,让去上海,我说电话面试呗,她说可以,就确定了电话面试时间,对于百度我还是很认真准备的,毕竟是bat的大公司,技术要求应该很高.面试当天,约的是下午三点,tm三点半还没打来电话,草,你妹啊,刷老子,我就给hr打个电话,hr说可能那边忘了,说提醒下,过了十分钟,一个电话打进来,说是百度一面面试,就问了很多技术型的东西,java集合类、多线程、各种基础的区别、比如==、与equals区别、hashmap、hashtable、concurent包的一些的知识、线程池的一些知识、linux基本命令的使用,问的还蛮深,但是我都没问题,我看面试官是感觉问不倒我,感觉没意思了,就问我concurenthashmap的并发实现方式是什么,我说锁啊,reentrantlock啊,对段枷锁啊,他说我问的是实现机制,我心想我草,就不是枷锁吗,他说是sychronnizezd吗,我说我说了啊,reentranlock啊,他说我问是用什么算法,这个锁是用什么算法实现的,我说不知道,我会意的说,能请教下吗,他说cas,我操,我真还不知道,应该操作系统实现锁的一种机制,忘了.然后就问了ssh,设计模式的,专门问了策略模式,模板方法;最后问我我有什么问题问他,我说就有一个,第二面什么时候,擦,我太鸡巴自信了,他说等消息.正当我自信满满的时候,大概过了二十分钟,百度有一个电话打过来,说面试,我说不是面过了吗,他说他是二面,擦,真么快,可以,百度就是大公司,效率高.当时这次是我没有心理准备的,第一个问题问我,你职业规划是什么,我擦,这是技术面试吗,你确定,我安耐住疑问说,我希望我做个架构师,他说你知道什么是架构师吗?我说了一大堆,他说这不是架构师,这是个干活的头(擦,我后来知道他是百度钱包的最牛逼的架构师,很牛逼的,后来看了他博客,他有篇博客就写到很多应聘者都想做架构师但不知道什么是架构师,tm上当了),后来又问hashmap、concurrenthashmap实现  锁机制,擦百度这么喜欢问锁,不过这次问的比较深,entry、hashenty的结构都问了,为什么这么实现也问了,rehash的机制也问了;在后来问了最近看的书,这个没准备,其实我最近也没看什么书,都是看论坛的,就问我看过什么论坛,当时我脑袋有点空白,扛不住啊,一面40分钟,二面这tm有快半个小时了,就说csdn,其实我博客园、iteye、知乎都会有看的,但是没说出来.接着又问了jvm调优的一些事情;后来说我项目经验太少,给个场景,我设计一个架构,百度钱包要搞一个抽奖的活动,怎么设计,其实这个应该不算难,把所有用户数据保存起来,随机选就可以了,接着就是考虑数据结构、缓存、并发什么的了,但是、但是tm当时我实在是tm累了估计,把问题理解成用户来枪这些奖的事情了,就是建一个队列,谁来的早就加入队列,后来的就丢了.草!哎,估计面试官都心里乐了吧.后来就问了下工资的事情,我说随便给,有机会就行,他说估计就是过了得按应届生来,没有互联网经验.二面就这么结束了,感觉面的不怎么样,但是真是感觉面试官是个大牛,场面完全被他把控住了,不过我基础部分回答的还行,所以说也不是没希望,过了两天我拖同学问下结果,没过多久二面那哥们给我打来电话,说我经验不足,hr不愿意要(后来从同学那知道只能给T3,但是HR找的这个职位是高级的T4以上的,要互联网金融经验,HR不愿意要,说公司批不了!)草,要是经验不足,早干嘛去了额,我简历不是写的好好的,这不是耍我的吗,不过后来想想,通过百度这次面试还是学到很多东西的,为我以后面试打下很好的基础.回来再说二面那个哥们,那哥们说百度这个部门是进不了了,但可以看看其他部门有没有招级别低的,说也可以给我推荐到陆研所,就是下面要谈的平安集团,说他一个同学在那,也还不错!我表示了感谢,其实,虽说二面没给我T4,但是我们谈的还是不错的,感觉蛮投缘,面试的时候一顿聊骚,擦!百度这次面试就这么结束了!

华为
    再接下来就是华为了,说到华为,我tm就感觉华为像是山寨公司似的,华为的部门之间在抢人似的,两个部门可以同时面试,而且可以都发OFFER,不过第二给的工资不能有第一个高,这是公司规定!擦,华为就是不一样,华为有三个部门给我面试机会,深圳、北京(南京分所也可以去)、上海,不过我目前就面了上海,毕竟我媳妇在上海,不过北京口头答应的说给的级别高,钱多,深圳的方向比较好云计算大数据,上海的一般吧,唯一的好处就是媳妇在上海,工资一般,这也是可能是上海这个部门感觉我会来,所以压低工资吧(其实我也不知道,这是北京华为那个招聘经理的给我说的,这个经理我叫他徐哥,人不错,确实不错,感谢,吉大的毕业的,我顿时对吉大增了不少好感,好学校,好人!就是不像某些北理工的,自私,心眼多,哎,这可能是自己接触的人大概这样,其实每个学校都会有够义气的同学,都有不太仗义的同学,不能一概而论).现在说说,华为的面试,上海华为招聘不是hr联系我,是他们部门做技术的,自己招聘,上报,这个也很有个性;可能华为真的比较忙,安排了三次才电话面试上,放了我2次鸽子,而且也不提前电话通知一声,导致我很不爽,以至于在面试官打给我电话面试的时候,我直接说,哦,咱们约了好几次啦,让他也不爽一下.可能从开始的开场白就注定了这次面试不会太愉快,他说面试爽约是他的失误,今天可以面试我,c++/java都行,问我最熟悉啥,表现得具有大师风范,我说java吧,java集合类还可以,然后就问了下集合类架构,接着就问了我一个很蛋疼的问题,java集合类中的结构创建的原理是啥,我说太多了,你说哪个,arraylist吧,我说就不是在堆上创建吗,面试官说初次创建时多大,擦,我只知道hashmap初次是16,这个真不知道,就说可以用class搞定,他说CLASS类是什么,我就介绍了class类,接着问jvm里到底是类还是对象,我说当然是对象啊,class类是与类对应的,他说他知道,哦,应该知道,搞java的人应该是知道class类的,又回到arraylist初次创建的事情,我说不知道,后来我看看源代码,原来是初次分配10个大小,满的话就扩,然后再拷贝到新的结构里,老的arraylist回收,哎,确实自己学艺不精啊.后来就让我介绍下mvc,问我为什么是三层而不是四层、五层,我说合适呗,我就问他你说为什么tcp/ip为什么分五层呢,他不说话了,擦.接着问我servlet生命周期,这个以前做过,大概知道,但也不是很顺利,问了linux的命令,以前用过,也大概没问题,反正是回答的不是很顺.最后问我jsp属于mvc的哪一层,我说v层,视图层,面试官说不对,逻辑层,我后来到网上看看,jsp在view层和control层都有的,说view层的偏多啊!哎,就是感觉面试官的知识很广,但是深入度还是有待考证啊,不过我来上海面试的时候,看到那哥们,感觉应该很厉害,当天可能是应为忙一天累了.再接着说来上海华为面试,本来电话面试真的很烂,再说华为也是大公司,应该没机会了,不过还是给了个机会,表示感谢.到了上海华为,哎呦呦,确实高大上,华为的办公楼很不错,额喜欢,不过想进华为好难啊,几道关卡,我自己的带的笔记本也不让带进去,真是军事化管理啊!回到面试,再次见到电话面试那哥们,感觉蛮亲切,叫朱哥吧,后来知道的,朱哥就让我写个程序,是个比较简单的程序,但是我想的复杂了,就是感觉如果按照我的思路做的话,程序太烂了,空间复杂度太大了,创建一个队列数组那还了得,后来我又好好看了下题,擦,看错了,擦,我就对朱哥说题我看错了,朱哥说,看仔细啊,时间过去这么久了.然后我开始写代码,3-5分钟的时间吧,搞定.然后朱哥看下,说如果要你在电脑上写,哪里还要优化,其实这是个提醒,擦,没领会啊,我就说,会使得更易读,更加能够重用,又问了其他的一些设计方法之类的,(我面试回来想了想,其实那个题目是可以写的更好的,我写那个算法是O(n2)的时间复杂度,擦,可以写出o(n)时间复杂多的,于是第二天我给他打个电话,说可以做的更好.)再接下来,就是经历面试,感觉就是扯扯淡,聊聊天,问了下设计模式的事情,看的书,还给我推荐书,说感觉我还不错,然后就谈到了工资,擦,给我的有点少,然后我就不听他说了,心里想的就是赶快走算了,最后他说我们要现在订下来吗,我说我回去考虑下,两个星期内给回复!然后就和在华为工作的高中同学在华为餐厅吃了个饭,哈哈,华为的餐厅还是不错的,伙食比较好,但是就是没餐补,擦!这个offer再等等吧!

来接着上篇的来写,这篇准备写下美团、腾讯、平安等公司的面试经历,哎,真是为了找到个合适的工作,是不惜用尽人品啊,用人公司的话,知道这样,肯定不是太好,不过呢,本来就是双向选择的事情,开始公司选择我们,后来我们选择公司,蛮公平的,给的工资不满意或者公司的面试官给人感觉不好相处,去了不是自虐吗?闲话少扯,正题!

美团(后台java)

    说句实话,我投美团是因为看招聘要求和我技能满符合,不过因为美团在北京,真是没太准备去,只是多个选择或者是面试多个经验,能去不能去都无所谓,或许是由于这个想法吧,在面试的时候自己和面试官笑场了,呵呵!感觉蛮好玩!美团也是电话面试,第一个面试官给我打电话,上来就问java的几大框架,擦,招聘要求里也没说要求这么多框架啊,然后我各种不会,各种不知道,各种没用过,然后这哥们郁闷了,把电话给了另一个哥们,然后我和另一个哥们开始聊了,开始还是中规中矩的问些java的知识点,这都没问题,大体上也是集合类啦,多线程啦,锁的使用啦,hashmap啦等等吧,最后给了个题让解决,抽象出来就是找到一个字符串中第一个不重复的字符,这个还不容易,O(n2)算法直接说出来,O(n)的算法我想了好一会,最后说用bitmap搞定它,结果搞了半天感觉有点问题,再后来面试官说要用集合类的数据结构可以搞定,慢慢引导上了hashmap,果真,擦,用hashmap就是容易,我这怎么就没想起来呢,哎,还是不行啊!再后来我就和这哥们开始聊天了,发现我们是不同学校一届毕业的,聊了的还可以就赶到要吃饭挂了,挂之前还相互抱怨了下HR包面试安排在下午五点半是非常不合理的,哈,其实我也知道我肯定不会过的,他也知道我其实也没那么想去!后来就可想而知了!

腾讯(运营后台c++)腾讯面试哪些内容?怎么去腾讯面试
    去上海腾讯面试,我感觉我被完虐,是面试华为以后的事情,腾讯面试是朋友坤哥内推的.我以为腾讯的面试应该和其他互联网公司差不多吧,申请的是c++的职位,所以就找c++相关的书看了一下,顺便有个机会把stl源码分析、c++对象模型也大概看了下,不过看的不精,时间有限啊,从通知面试到面试也就4天多的时间,而且一直在准备java的面试,c++方面的东西也没有太过于注意,所以很多东西都忘了,可能这也是悲剧的一个很重要的原因吧.当天下午,由于出发晚了些,我可是打的士从杨浦赶到漕河泾开发区的,结果去了,面试官还和诧异我来面试了,因为电话沟通的时候效果不太好,面试官要来公司当面面试,我其实也不是很情愿去,但是媳妇说,有机会就去呗,就是虐了,也是个经验不是,我想也是,就去了!面试开始,面试官直接给我三张试卷正反面让做,我擦,我都毕业快两年了,还让我笔试,而且都是大学学的要灵活使用的东西,每道题里都有陷阱,参加过腾讯校招的同学应该都知道,真他么不好搞,不会,只有硬着头皮搞了.题目中有1/3的事关于c++语言的,很多都是些指针的使用,擦,这要是在学校的时候,特别本科的时候绝对是没问题的,但是现在真的不好搞,因为底层指针的应用,工作之后用的不多,笔试的话一下子这么多指针,还有找错题,还有数据库、linux(写命令,文件权限解释什么的)、web技术(直接是html,get,post)、网络技术、操作系统,非常全面,擦,要全才啊,知道自己搞不定,就随便答了下(在这里要给大家说声要是去腾讯面试,还是要好好准备下基础知识的,不准备是很难过的).大概做了有50分钟吧,然后就开始聊了,什么死锁的四个条件(我答的事资源竞争、循环、有资源不放、并发,都是自己临时想的,真忘了,这是学操作系统的时候知道的,都忘了),数据库事务的四个特征(我回答acid,但是就是忘了d代表啥了,回来查下d代表持久性,擦)、http下面的协议时什么协议(回答tcp)、操作系统的作用、mysql存储引擎有哪些、innodb和myisam的区别(回答的还可以)、mysql有哪些索引(回答哈希、b树、全文等)、tcp/ip协议层次、叙述从在浏览器地址栏输入url到得到网页的过程尽量详细(这个应该是要说tcp的三次握手,当时没回答好)、如果网页没有返回时什么原因以及怎么诊断真正错误、常用http的状态码等等,linux查找字符串、文件命令,查看cpu利用率命令,查看后台进程命令,最后让写一个冒泡排序的程序(哈哈,这个搞的快),整个过程进行完,我感觉自己都快虚脱了,蛋疼,就像腾讯不进也罢,给的钱不多,要求这么变态,擦!这次面试失败也让我看到,其实自己还有很多不足的,虽说面试官问的问题还能搞定,但是笔试实在是太烂了,自己都不忍直视,哎!所以说,要是进腾讯还是要好好准备下基础知识,其实并不是很难,就是面比较广,而且知识比较碎,比较适合应届生,对于这些工作近两年的人来说,真是很困难!不过从这次面试也可以看出来,腾讯有些面试官是很注重细节,反而感觉他们不够专业,你怎么能够笔试一个已经毕业快两年的人一些本科里面学的东西的,而且深度还不浅!看来,注定与腾讯无缘.

平安(后台java)平安面试哪些内容?怎么去平安面试

    能来平安来面试,真是多亏了百度二面那哥们,非常感谢(看来和面试官谈得happy就是好,就算他们单位不要你,也可以给你推荐其他单位,绝对好!),本来是没报什么希望的,但是有一天突然接到电话说平安的,要电话了解下情况(当时我还在公交车上,就下站,在站台上和他聊起来了),问了下java的基础知识,我感觉还可以,有戏.不出所料,半个月后,平安通知我面试,先让我网测下,eq/iq测试,我当时正好有其他事情,他们又要的紧,我就很快的做完了.我是面试当天下午两点去面试的,给我的感觉平安hr特别忙,地位很高(平安不愧为卖保险出身啊,哈哈),然后hr给我几道题,10道题吧,顺便说下,题号还搞错了,日,不专业啊!其实我一看又要笔试,简直想骂人,因为刚刚被腾讯虐了,不想再重演悲剧啊,不过我看过题以后,平静了很多,平安的笔试主要是些关于java 的题和一些架构设计方面的题,主要有:java内存模型(直接画图,加说明)、-Xss256K在堆上分配吗(显然不是);java nio简介以及nio框架、用过哪些nio介绍;hashmap和concurenthashmap的实现原理和区别(哈哈,直接上图,介绍区别);sleep和wait的本质区别(是否在等的时候保持锁呗);mq消息队列用过哪些,介绍;用过哪些rpc、rmi、熟悉select poll polls吗;1000万级别im的架构设计;1亿电商平台架构设计(这两个架构设计,我真是不太清楚,没坐过,不过看过一些博客,就迎头画图,搞定.im应该是数据要快响应,但是数据量肯能不大,mysql数据库相对于服务器太分散,而电商就不一样,可以分散的,不知道对不对,不过这个数据的处理不知道能不能用hadoop搞定)、用过哪些分布式缓存加以介绍(直接写没用过),大概就这么多吧,感觉这个笔试就没有完全让写出来的意思,我感觉答的还可以;接着就是一面,有20分钟左右,然后就是总监面,有15分钟左右,然后就是经理面,大概有15分钟左右,然后就是hr面大概有15分钟左右,当然中间有要等的,感觉还可以的;整个面试感觉进行的还算顺利,谈了薪资以后就出来了,和想想的差不多.到晚些我快到家的时候,hr给我打来电话,对我说,我的iq/eq测试有问题,和我今天的面试表现不符合,eq偏低,iq也偏低,说申请了一下,让重做一下,再不过就没办法了,还特意叮嘱找个没人打扰、心情好的时候做,而且要准备好纸和笔,要演算的,哈哈,然后我当天晚上又重做了一遍,做的时候搞的我还蛮紧张,擦!这里还要感谢下媳妇,iq测试的时候媳妇帮了忙,哈哈,感觉媳妇比我聪明多了!第二天打电话问了下hr,说正常了,没问题了!哎!好奇妙!

结束语:
   其实找工作真是个体力活和脑力活,每个公司要求不太一样,都要针对性的准备,其实找工作的过程也是个很好的学习过程,因为这个时候目的明确,效率极高,基本上平时一个星期的事情,一天就能做完,发现潜力无穷啊!
   经历了这些,把它写出来,一则是纪念下自己这一个多月来的努力和经历,另一方面,如果哪位同学要是找相关公司的职位的话,也为大家提供参考,知道面试内容,做到有的放矢!
   后面还有可能会有其他面试的机会,也可能没有了,这几家公司个人感觉够自己发展了,根据自己喜欢方向来选一个,静下心来,好好工作,才是正事.找工作不是目的,目的是好好工作,好好挣钱,好好养家!就说这么多吧!

 看完了这篇文字,你的面试经验长进不少吧,哈哈
--end by itlife365
Jan 10
from 网络: 更多内容查看 移动通信入门教材http://wenku.baidu.com/view/07dccb1f227916888486d709.html###
一套完整的蜂窝移动通信系统主要是由交换网络子系统(NSS)、无线基站子系统(BSS)、移动台(MS)及操作维护子系统(OMS)四大子系统设备组成。

NSS 包括:
MSC: 交换,采集原始通话记录,移动性管理;
HLR: 用来储存本地用户位置信息的数据库;
VLR:用来储存来访用户位置信息的数据库;
EIR: 存储移动台设备(ME)参数的数据库;
AUC:可靠地识别用户身份;
IWF:提供与其它数据网络的链接,数率匹配,协议匹配;
EC: 用于消除PLMN与PSTN通话时,PLMN一侧的回声;

BSS 包括:
BSC: 无线资源的控制与管理;
BTS:无线相关功能的实施者;
XCDR:变码器,完成空中编码与陆地网络变码之间的转换;

MS 包括:
ME: 移动设备(手机)
SIM: SIM卡

OMS 包括:
NMC: 负责移动网络的全局性管理;
OMC: 负责移动网络的区域性管理;
(omc基本可以实现nmc的功能,现网没有nmc)

以下是具体一点的解释,以上是自己总结的;


1交换网络子系统
1.MSC移动交换中心

它是GSM网络系统的核心部分,是对位于它所覆盖区域中的移动台进行控制和完成话路交换的功能实体,也是移动通信系统与其它公用通信网之间的接口。MSC提供交换功能,完成移动用户寻呼接入、信道分配、呼叫接续、话务量控制、计费、基站管理等功能,还可完成BSS、MSC之间的切换和辅助性的无线资源管理、移动性管理等,并提供面向系统其它功能实体和面向固定网(PSTN、ISDN等)的接口功能。作为网络的核心,MSC与网络其他部件协同工作,完成移动用户位置登记、越区切换和自动漫游、合法性检验及频道转接等功能。
MSC处理用户呼叫所需的数据和后面介绍的三个数据库有关,它们是HLR 、VLR 和AUC,MSC根据用户当前位置和状态信息更新数据库。
2.HLR归属位置寄存器
HLR是一个静态数据库,用来存储本地用户数据信息的数据库。一个HLR能够控制若干个移动交换区域或整个移动通信网,所有用户重要的静态数据都存贮在HLR中,在GSM通信网中,通常设置若干个HLR,每个用户都必须在某个HLR(相当于该用户的原籍)中登记。登记的内容分为两类:一种是永久性的参数,如用户号码、移动设备号码、接入的优先等级、预定的业务类型以及保密参数等;另一种是暂时性的需要随时更新的参数,即用户当前所处位置的有关参数,即使用户漫游到HLR所服务的区域外,HLR也要登记由该区传送来的位置信息。这样做的目的是保证当呼叫任一个不知处于哪一个地区的移动用户时,均可由该移动用户的原地位置寄存器获知它当时处于哪一个地区,进而建立起通信链路。
HLR储存两类数据:
一是用户的参数,包括MSISDN、IMSI 、用户类别、Ki,补充业务等参数。
二是用户的位置信息,即该MS 目前处于哪个MSC/VLR中的MSC/VLR 地址。
3.VLR拜访位置寄存器
VLR是一种用于存储来访用户位置信息的数据库。一个VLR通常为一个MSC控制区服务,也可为几个相邻MSC控制区服务。当移动用户漫游到新的MSC控制区时,它必须向该地区的VLR申请登记。VLR要从该用户的HLR查询有关的参数,要给该用户分配一个新的漫游号码(MSRN),并通知其HLR修改该用户的位置信息,准备为其它用户呼叫此移动用户时提供路由信息。如果移动用户由一个VLR服务区移动到另一个VLR服务区时,HLR在修改该用户的位置信息后,还要通知原来的VLR,删除此移动用户的位置信息。因此VLR可看作一个动态的数据库。
VLR用于寄存所有进入本交换机服务区域用户的信息。VLR看成是分布的HLR,由于每次呼叫,它们之间有大量的信令传递,若分开,信令链路负荷大,所以在爱立信系统中,VLR和MSC配对合置于一个物理实体中,将MSC与VLR之间的接口做成AXE 的内部接口。
VLR中也寄存两类信息:
一是本交换区用户参数,该参数是从HLR中获得的。
二是本交换区MS的LAI 。
4.AUC鉴权中心
AUC属于HLR的一个功能单元部分,专用于GSM系统的安全性管理。它产生为确定移动客户的身份和对呼叫保密所需鉴权、加密的三参数(随机号码RAND,符合响应SRES,密钥Kc)的功能实体,用户的鉴权和加密都需通过系统提供的用户三参数组参与来完成。
三参数组:RANDom number (RAND)、Signed RESponse (SRES)、Ciphering Key (Kc)
AUC存储着鉴权信息与加密密钥,用来进行用户鉴权及对无线接口上的话音、数据、信令信号进行加密,防止无权用户接入和保证移动用户通信安全。
每个用户在注册登记时,就被分配一个用户号码和用户识别码(IMSI)。IMSI通过SIM写卡机写入SIM卡中,同时在写卡机中又产生一个对应此IMSI的唯一的用户密钥Ki,它被分别存储在SIM卡和AUC中。
AUC中有个伪随机码发生器,用户产生一个不可预测的伪随机数(RAND)。RAND和Ki经AUC的A8算法(也叫加密算法)产生一个Kc,经A3算法(鉴权算法)产生一个响应数(SRES)。由RAND、SRES、Kc一起组成该用户的一个三参数组,AUC中每次对每个用户产生7——10组三参数组,传送给HLR,存储在该用户的用户资料库中。
VLR一次向HLR要5组三参数组,每鉴权一次用1组,当只剩下2组(该数值可在交换机中设置)时,再向HLR要5组,如此反复。
空中接口是移动通信中最重要的通道。保护在它上面所传送的用户信息和信令不被无权者获知,是PLMN网提供的一种重要功能,即用户安全功能。
所谓空中接口的安全是指:
——空中所传送的话音及数据不被窃听
——网络不为无权者提供服务
——使用接口的用户不能被识别或跟踪
针对用户安全问题,GSM提供下列用户安全功能:
 1)鉴权(AUTHENTICATION)
鉴权是为了保护合法用户,防止假冒合法用户的“入侵”。当用户请求接入时,MSC/VLR通过控制信道将RAND传送给用户,SIM卡收到后,用此RAND与SIM卡中的Ki经同样的A3算法得到响应数SRES,传送给MSC/VLR。MSC/VLR将收到的SRES与三参数组中的SRES进行比较,若相同就允许接入,若不同则拒绝此次呼叫。

图1-4 鉴权过程
 2)加密(CIPHERING)
就是对用户在空中所传送的用户数据(包括话音及数据)和信令数据进行加密,以保护话务和信令通道中的用户信息的隐私。
加密是指无线信道上的加密,是为了防止在BTS和MS之间交换用户信息和用户参数时被非法个人或团体监听或窃取。MS侧以A8算法得到Kc。根据MSC/VLR发送出的加密命令,BTS侧和MS侧同时使用Kc。在MS侧,由Kc、TDMA帧号和加密命令一起经A5算法,对用户信息数据流进行加密(也叫扰码),在无线路径上传送。在BTS侧,把收到的数据流、TDMA帧号和Kc再经A5算法解密后传送给BSC和MSC。

图1-5 Kc的产生
5.EIR设备识别寄存器
EIR也是一个数据库,存储有关移动台设备参数。主要完成对移动设备的识别、监视、闭锁等功能,以防止非法移动台的使用。
EIR存贮着移动设备的国际移动设备识别号(IMEI),通过核查白色清单、黑色清单、灰色清单这三种表格,分别列出准许使用、出现故障需监视、失窃不准使用的移动设备识别号(IMEI)。运营部门可据此确定被盗移动台的位置并将其阻断,对故障移动台能采取及时的防范措施。
但在我国,基本上没有采用EIR进行设备识别。


1.2.2 无线基站子系统
BSS系统是在一定的无线覆盖区中由MSC控制,与MS进行通信的系统设备,它主要负责完成无线发送接收和无线资源管理等功能。功能实体可分为基站控制器(BSC)和基站收发信台(BTS)。
基站子系统BSS在GSM网络的固定部分和无线部分之间提供中继,一方面BSS通过无线接口直接与移动台实现通信连接,另一方面BSS又连接到网络端的移动交换机。
1.BSC基站控制器
基站控制器(BSC)是基站收发台和移动交换中心之间的连接点,也为基站收发台和操作维护中心之间交换信息提供接口。一个基站控制器通常控制多个基站收发台,其主要功能是进行无线信道管理、实施呼叫和通信链路的建立和拆除,并为本控制区内移动台的过区切换进行控制,控制完成移动台的定位、切换及寻呼等,是个很强的业务控制点。
2.BTS基站收发台
基站收发台(BTS)包括无线传输所需要的各种硬件和软件,如发射机、接收机、支持各种上小区结构(如全向、扇形、星状和链状)所需要的天线,连接基站控制器的接口电路以及收发台本身所需要的检测和控制装置等。BTS完全由BSC控制,主要负责无线传输,完成无线与有线的转换、无线分集、无线信道加密、跳频等功能。
BTS包括无线收发信机和天线,此外还有与无线接口相关的信号处理电路。信号处理电路将实现多址复用所需的帧和时隙的形成和管理,以及为改善无线传输所需的信道编、解码和加密、解密,速率适配等功能。


1.2.3 移动台MS
移动台就是常说的“手机”,它是GSM系统的移动客户设备部分,它由两部分组成,移动终端(MS)和客户识别卡(SIM)。MS可完成话音编码、信道编码、信息加密、信息的调制和解调、信息发射和接收。
SIM卡就是“身份卡”,它类似于现在所用的IC卡,因此也称作智能卡,存有认证客户身份所需的所有信息,并能执行一些与安全保密有关的重要信息,以防止非法客户进入网络。SIM卡还存储与网络和客户有关的管理数据,只有插入SIM后移动终端才能接入网络进行正常通信。

1.2.4 操作维护子系统
GSM系统还有个操作维护子系统(OMC),它主要是对整个GSM网络进行管理和监控。通过它实现对GSM网内各种部件功能的监视、系统的自检、报警与备用设备的激活、系统的故障诊断与处理、话务量的统计和计费数据的记录与传递,以及各种资料的收集、分析与显示等功能。
May 10
今天在编写文档《业务需求优先级及风险分析表.xls》的时候,看到 加权平均分,傻了,
以前读统计学明明学过的呀,怎么这会儿就不会了呢?没事,现在一起来学习学习
实得分 权值比 权重率 加权得分
85.25  2   50%    42.625
75.50  1  25%    18.875
86.00  1  25%    21.000
加权平均分:42.625+18.875+21.00=83.00
根据权重的得分来判断需求的优先级,比如
9-10  :高级
7-8   :中
规则:
加权得分等于:实得分 * 权值
加权平均分等于:所有的加权等分和 除以 所有权值的和
Mar 9

IDC(Internet Data Center),即互联网数据中心。是指在互联网上提供的各项增值服务服务。他包括:申请域名、租用虚拟主机空间、主机托管等业务的服务。

IDC即是Internet Data Center,是基于INTERNET网络,为集中式收集、存储、处理和发送数据的设备提供运行维护的设施以及相关的服务体系。IDC提供的主要业务包括主机托管(机位、机架、VIP机房出租)、资源出租(如虚拟主机业务、数据存储服务)、系统维护(系统配置、数据备份、故障排除服务)、管理服务(如带宽管理、流量分析、负载均衡、入侵检测、系统漏洞诊断),以及其他支撑、运行服务等。   对于IDC的概念,目前还没有一个统一的标准,但从概念上可以将其理解为公共的商业化的Internet“机房”,同时它也是一种IT专业服务,是IT工业的重要基础设施。IDC不仅是一个服务概念,而且是一个网络的概念,它构成了网络基础资源的一部分,就像骨干网、接入网一样,提供了一种高端的数据传输(DataDelivery)的服务和高速接入服务。

Mar 5
感觉此文对学软件的有用,转载了哈哈哈
2010.01.17
刚刚进入一家网络开发公司,公司里面的人都是一些刚毕业不久的程序员,而我却已经是年近30的人了,在这行工作了也差不多7年了,跟他们一块工作,让我觉得自己都成为了这行里面的“老人家”了。大家对前途抱着的是希望,有的是热情,而我却像是走头无路了,月收入也只不过3000多块,让我怎么干下去呢。
主管对我说:“你刚进来,还没有什么工作分配给你,你先帮帮小陈一块开发吧!”
“好吧!”我无耐地回答。
于是我向小陈问到:“有什么需要帮忙吗?”
“你先开发一个订单模块吧!”她回答道。
我心里不禁在想:这样中小型的企业,这么快就用到微软的MVC来做模块,看起来还挺有前途呢。但是当我把代码拿回来一看,不禁让我失望了。所谓的模块,只不过是一大堆html代码,只是通过某一个函数来获取这些代码,而且还把函数名都放在数据库里面,其开发模式简直可以说一塌糊涂。我不禁地问道:“这是什么样的开发模式呀,怎么以前我没看到过?”她说:“这是我们主管决定的,我也不知道呀。”我说:“既然这代码经常重复地使用,不如用最简单的用户控件来实现吧!”她的神情有点好奇,望着我说:“用户控件是什么呀?”我可真的有点哭笑不得,怎么我干了这么久,现在还要到这样的公司来干呀!

2010.04.23
不知不觉,在这家公司已经工作了几个月了,工作的时候也算是遇到几个志同道合的朋友,大家都觉得这公司没有发展空间,在这里呆下去,只会耽误了自己的前途。
一个中午,吃完饭以后,我对大家说:“这公司的开发方式实在太差了,你们还好,有的是时间,可我呢,年纪都这么大了,如果再这样呆下去,我可是要转行啦!不如大家找个日子,一块递辞职信吧!”大家都在迟疑,不敢下决定,突然阿峰说道:“我昨天已经递了辞职信啦!”我有点惊喜地问道:“怎么你不先说,辞职这么突然呀!走得比我还快。”阿峰回答道:“上个星期六,主管要我加班,我就是不回来,这时候,我已经知道他们不会再请我了。结果跟我所想一样,今天我已经接到离职信啦!”我说道:“好!不用多久,我也会走的,希望以后我们有机会再合作。”

2010.06.10
在这些日子里面,有空的时候我看了《重构:改善既有代码的设计》、《敏捷软件开发:原则、模式与实践》、《企业应用架构模式》等好几本关于系统开发的名著,我觉得自己简直是获益良多。以前虽然对开发模式也有一定的认识,但毕竟不能完完地了解,也不能灵活运用。
但在这一段日子以来,我开始对设计模式与领域驱动设计等有了更深入的了解,让我有一些跃跃欲试的感觉。可是在这公司里面,简单的网站开发根本用不上这复杂的设计模式,我觉得这简直就是阻碍了我在技术上的发展。
于是我毅然决定,向公司提上我的辞职信。公司也答应了我的请求,在6月23日我终于离开了我的工作岗位。那天早上,我笑着脸到了家附近的麦当劳吃早餐,店里的小静问道:“为什么今天特别地开心呀?”我回答:“因为我失业啦,我已经辞职了。”小静笑着说:“辞职也会这么开心,一定是找了更好的工作啦。”我笑着心里想:因为这时候辞职,可以更有利我的发展,让我学到更多的知识,只要有本领,就不怕找不到好工作。

2010.10.5
我离职已经三个多月了,在这三个月里,我觉得自己学到的东西比这7年来学到的更多。我终于可以更深入地了解到开发模式的真正意义,这开发方式并不是局限于面向对象,面向服务,领域驱动,也不局限于那23种开发方式,这些对于开发模式来说都只是冰山一角。我也知道测试与重构的过程与必要性。“好的代码不是写出来,而是经过不断的测试而重构出来的。”这可是不少名人的座右铭。在很多的程序员眼里,都会忽略了这一点,而要成为一个成功的开发人才,却不能忽略了它的重要性。
在以往的几年,我都是从事B/S开发,对C/S也只是略知一二,但在这三个月,我对C/S的数据传讯和开发方式有了更深入的了解。而且熟悉了TCP、UDP、FTP、 HTTP、SMTP、POP等通讯方式的核心开发。
就在这时候我把自己的简历再次发上了人才网,在一个星期内,就有8家公司要我去面试了。最终我应聘立信集团的.NET高级程序员一职,收入也升已经到了7000元,我开始觉得自己踏上了人生旅途的另一页。

2010.10.24
在立信里干了还不够20天却已经让我有点失望了,我原来只想跟从兴签约,然后踏踏实实地干下去,却不知从兴大多数跟移动合作开发项目,用的大多数是用JAVA开发的,也只跟JAVA开发的人正式签合同。而我们这些干.NET的,只像一个小配角,大大小小的杂务都交给我们,合同也是跟立信旗下的一家外包公司签约,这不禁令我大失所望。
而公司开发所用到的技术却对我有了新的启发,因为接的都是较大型的项目,用到的都是Workflow工作流去实现业务的,而且用到了SOA面向服务的开发模式,这可是近几年来最热门的开发方式,也正是我学习的好时机。可惜,这些开发都是由架构师先设定,然后分配给我们去干的,怎么也不会轮到我们做.NET的人去干,对此我感到深深地不忿。
我觉得这是我学习大中型项目开发的好机会,我可以知道开发的具体流程,系统的分析,工作的分配,所用到的技术等等。但这核心的开发却轮不到我来做,而且自己对Workflow根本是一窍不通,对Web服务也只是懂得最简单的例子,这怎么能开发出一个全面的SOA系统架构。
在国庆节过后,刚好在从兴电子工作了一个月,我毅然提出离职请求。而从兴的项目经理,外包公司的总经理再三的挽留,还是被我拒绝了,我还是觉得干我们这一行的,技术比工资更重要。终于我离开了从兴,继续走自己的路。

2010.10.25
刚离开从兴的第二天,我又收到另一个电话,竟然是神州数码公司的人打给我的,让我去面试。于是我在下午5点就到了中国移动在广州的总部,跟神州数码的人见了面。交谈了还不到10分钟,他已经说要我明天入职,收入8000元,职位是.NET架构师。
我觉得自己好像在做梦,没想到跟大公司合作干.NET架构师这样的职位,既不需要做面试题,更不需要等,10分钟就能通过。进了公司以后,我才知道原来是神州数码跟移动合作,派了一个开发团队在移动的总部负责开发一些小项目。项目经理对我说:“唉,我对代码可是一窍不通,所以才急着请一名架构师,在此之前也不敢接什么大项目。你既然来了,就先帮我看看这个开发项目有没有问题。因为移动定下规矩,数据层要用NHibernate,开发也要用Spring.NET,你做的时候要小心一点。”
我看了看已经的代码,可真地想笑出声来,接口层跟实现层竟然会在同一个程序集里面,为的就是要用Spring.NET来实现绑定,真可以说是主次颠倒,违反了DIP的开发原则。而项目经理却全然不知,这样对程序开发毫无认识的的人也能在神州这些大公司当上项目经理,真是一个笑话。
第二天,经理问我:“怎么啦,看过代码,你觉得没问题吧?”我回答到:“有呀,不过也不是什么大问题,挺容易解决的。”于是我把发现的情况说了一遍,经理问道:“这样子对代码的功能不会有什么影响吧!”我说:“如果是小项目,影响倒不大,如果项目需要不断扩展和重构,那问题可就大啦!”“那你赶快跟那些开发人员说说,叫他们改改吧!”经理开始紧张起来。
我真觉得有些哭笑不得,这样对代码一窍不通的人对也能当上大公司的项目经理,为什么我不行,我开始在想。在以往,我们这些做开发往往都会把技术放在第一位,对我们来说,项目经理也只是从事业务管理的人物,我们往往对这个职位抱着一点歧视的眼光,总觉得架构师,项目总监才是我们开发人员的梦想。但现在,我开始觉得自己的想法有些天真。项目管理其实也是一种专业知识,你既需要对代码,对开发工具有深入的了解,也需要对业务流程,开发事项有经验才能干得好。想进一步提升自己,项目经理似乎是必经之路。
于是在第三天,我终于向神州数码公司递上了辞职信,继续去寻我的路。

2011.02.10
今天已经是正月初八,不知不觉地我已经在家里度过了二个多月,在这些日子以来,我一方面向技术层次发展,深入地学习了WF、WCF等技术,读过《WF高级程序设计》、《WCF核心技术》、《WCF 3.5揭秘》等多本著作,另一方面也向项目管理进发,学习多层次的软件开发管理模式,对Scrum敏捷软件管理,XP极限编程,企业软件开发等管理模式都有进一步的了解。
我对自己建立了自信,觉得无论在哪一个层次,我都有了一定的了解,在开发方面,我可以在B/S、C/S开发方面都能够从容地应对,对数据获取无论原始的ADO.NET还是LINQ和NHibernate映射方式,我都深知其开发模式。对基础的三层开发模式、面向服务开发,领域驱动开发等的架构都可以轻易地建立起来。最重要的是我对开发的管理,需要分析,风险评估,项目重构等等都有了认识,我觉得现在应该是自己“实习”的时候啦。
于是我开发把自己的简历放上了人才网,在2月21日,我终于登上了人生的另一个舞台,当上第一个Project Manager。虽然,我不感说这第一次的尝试自己一定能干得好,但是我还是对自己说:干吧,只要肯努力,前途是光明的,道路是曲折的。


我写这篇文章,目的不是炫耀自己有多少才能,而是想对各位有类似经历的同行说一下:其实工作的位置不是最重要的,只要能坚持自己的信念,不断地努力,大家都可以实现自己的理想。就算今天你只是一个小程序员,只要你努力去拼,不要让环境扰乱了自己的发展方向,可能在几月后,你也可以成为架构师,项目经理,技术总监。
朋友,让咱们为自己的理想一起来奋斗吧!

from:http://topic.csdn.net/u/20110302/14/39F5D290-8E53-48F0-BFA4-198FDF5D3097.html
分页: 1/2 第一页 1 2 下页 最后页