2017校园招聘华为优招南研所20160821

楼主是某985的一名本科生,刚刚参加了华为优招的java开发面试,hr说五天内出结果。这里是新鲜出炉的笔试面试心得~

华为笔试

笔试分为两部分,一个两小时的机试,还有一个就是综合素质测评了,大概类似于性格测试什么的,貌似一次通不过还要补测。这里着重说一下机试。楼主选的语言是java,可以用eclipse进行开发,不限制集合框架的使用,有函数提示不知道有多爽(虽然华为的机试也用不上什么高深的数据结构和函数)。机试一共三道题,每道题最多提交五次,100+200+300一共600分,100分就可以过机试啦,楼主最后拿了300+,鉴于题目的简单程度,楼主有些惭愧。楼主是因为没有正确的看到自己题目的正确率才提前交卷,结果导致了悲剧的产生。。。所以大家一定多刷一下状态。不要吃这种粗心大意的亏。

楼主的三道题都对空间时间没有限制。

第一道题是把所有单词的首字母转为大写。

第二题和一个压缩编码有关,题目是楼主回忆的,对于一个只有01的二进制序列,1很稀疏,0占据大量空间,故设计了一种压缩方案进行编码,对于一个多个0后有1个1的序列如0000000001,记连续出现的0的个数为i(这里i=9),i用二进制表示是j位(这里j=4),所以压缩后的编码就是j-1个1后有一个0,0后面的j位是i的二进制表示(这里是11101001),1的编码是00。中间有1的序列只需以1为分界线将前面部分的编码(末尾为1)和后面部分的编码组合起来即可。问题是给你一个压缩后的编码,你来还原原来的编码。

思路也很简单,就是首先遍历压缩码,点出现在0之前的1的数量,每次出现0就是一个终结,将0之后相应位数的二进制转化为十进制m,将m添加到数组中。继续循环。最后把根据数组中的数输出相应个数的0即可。

第三题是一个内存管理系统,大概就是你要设计内存管理,外界可以初始化,申请空间,释放空间,查询某一程序被分配的空间块的数目。大概思路就是你用一个boolean型数组,表示该块空间是否已经分配,用一个form类来表示一个申请单。题目思路并不难,就是写起来比较费时间。

华为面试

首先说要记得带简历。楼主提前半小时去的,就坐在那里傻等,当时大屏幕还在循环华为的宣传片,看得我都犯尴尬癌了╮(╯▽╰)╭。面试有两轮,一轮业务面,一轮综合面,两轮分别半个多小时。

业务面

坐在那里面试官开始看我的简历,然后我们就相对无言......,我当时很奇怪面试官为啥不让我自我介绍,他边看边说项目还挺丰富的啊,同时手敲着键盘在电脑里录入信息。楼主开始介绍项目,趁机还向面试官展示了俺们做的app。略去项目细节,楼主主要负责客户端,面试官问我那你对服务器端了解吗,楼主说看过一点,就和他开始侃服务器端的MVC架构和nodejs的好处,面试官一副行了你说了就行的样子,表示想知道我会不会关心项目整体除了自己工作以外的东西。另外楼主还写了一个小型编译器,面试官问了我一些正则表达式有关的东西,以及语法树应该怎么遍历。除此以外问楼主志向,楼主说java后台开发,于是我被问到一些java语言方面的知识,现在列举一下~

  1. java的正则表达式怎么表示字符“/”,怎么表示空白符,怎么表示字符“+”?
    楼主着实不清楚这块,瞎说的,面试官表示这都是语言细节没关系的。
  2. 花出java的集合框架的实现图(Collection set什么的)
    楼主随便画了一下因为记得不是很清楚了,太尴尬了,不知道为啥面试官还是一副差不多就行了的态度。
  3. 你知道多线程吗?多线程怎么加锁?
    楼主心里想这个我知道,得意了一下,就和面试官讲,然后面试官问了很奇怪的问题,加锁锁的是什么?楼主说对象,面试官说是什么变量?我说啥?后来面试官看楼主get不到,就直接问是不是临时变量,楼主自然答不是啦,临时变量在栈里面分配的,每个线程都有自己的栈,对象是在堆中分配空间的。
  4. JDK1.5以前Hashmap中如果出现了hash冲突会有什么现象?
    其实问的就是集合框架的hashtable的添加元素的代码,只要看过源码就知道啦,先比较hashcode再用equals进行比较。
  5. 排序的话用linkedList快还是ArrayList快?
    楼主一副犹豫不决的样子,面试官直接提示说linkedList增删查找会快一点,所以是LinkedList快,这一点楼主存疑?
  6. 集合框架排序需要实现什么接口?
    comparable或者compator喽,区别自己百度,(__) 嘻嘻……

大概就想到这些了,面试官一直鼓励楼主问有没有什么想补充的,可惜楼主没有了···

综合面

我的综合面就是一个略有年纪的经理?(or其他)和我聊人生聊理想,基本就是问你是哪里人高考情况,自我介绍一下,你的奖学金情况,学习情况,项目经历,社团活动,职业规划,你遇到的最大的挫折,还问我你们系你最钦佩的代码高手是谁,等等等

大家自信的诚实的勇敢的去面对就好啦!(__) 嘻嘻……

等面试结果出来我会再更新的......

posted on 2016-08-21 20:04  NoraLi  阅读(3018)  评论(5)    收藏  举报

导航

@font-face { font-family: octicons-anchor; src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); } #cnblogs_post_body { margin: 20px 0; } .cnblogs-markdown { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; color: #333; overflow: hidden; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; line-height: 1.6; word-wrap: break-word; } .cnblogs-markdown a { background: transparent; } .cnblogs-markdown a:active, .cnblogs-markdown a:hover { outline: 0; } .cnblogs-markdown strong { font-weight: bold; } .cnblogs-markdown h1 { font-size: 2em; margin: 0.67em 0; } .cnblogs-markdown img { border: 0; } .cnblogs-markdown hr { box-sizing: content-box; height: 0; } .cnblogs-markdown pre { overflow: auto; } .cnblogs-markdown code, .cnblogs-markdown kbd, .cnblogs-markdown pre { font-family: monospace, monospace; font-size: 1em; } .cnblogs-markdown input { color: inherit; font: inherit; margin: 0; } .cnblogs-markdown html input[disabled] { cursor: default; } .cnblogs-markdown input { line-height: normal; } .cnblogs-markdown input[type="checkbox"] { box-sizing: border-box; padding: 0; } .cnblogs-markdown table { border-collapse: collapse; border-spacing: 0; } .cnblogs-markdown td, .cnblogs-markdown th { padding: 0; } .cnblogs-markdown * { box-sizing: border-box; } .cnblogs-markdown input { font: 13px/1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; } .cnblogs-markdown a { color: #4183c4; text-decoration: none; } .cnblogs-markdown a:hover, .cnblogs-markdown a:active { text-decoration: underline; } .cnblogs-markdown hr { height: 0; margin: 15px 0; overflow: hidden; background: transparent; border: 0; border-bottom: 1px solid #ddd; } .cnblogs-markdown hr:before { display: table; content: ""; } .cnblogs-markdown hr:after { display: table; clear: both; content: ""; } .cnblogs-markdown h1, .cnblogs-markdown h2, .cnblogs-markdown h3, .cnblogs-markdown h4, .cnblogs-markdown h5, .cnblogs-markdown h6 { margin-top: 15px; margin-bottom: 10px; line-height: 1.1; } .cnblogs-markdown blockquote { margin: 0; } .cnblogs-markdown ul, .cnblogs-markdown ol { padding: 0; margin-top: 0; margin-bottom: 0; } .cnblogs-markdown ol ol, .cnblogs-markdown ul ol { list-style-type: lower-roman; } .cnblogs-markdown ul ul ol, .cnblogs-markdown ul ol ol, .cnblogs-markdown ol ul ol, .cnblogs-markdown ol ol ol { list-style-type: lower-alpha; } .cnblogs-markdown dd { margin-left: 0; } .cnblogs-markdown code { font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; } .cnblogs-markdown pre { margin-top: 0; margin-bottom: 0; font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; } .cnblogs-markdown .octicon { font: normal normal normal 16px/1 octicons-anchor; display: inline-block; text-decoration: none; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .cnblogs-markdown .octicon-link:before { content: '\f05c'; } .cnblogs-markdown>*:first-child { margin-top: 0 !important; } .cnblogs-markdown>*:last-child { margin-bottom: 0 !important; } .cnblogs-markdown a:not(:link):not(:visited) { color: inherit; text-decoration: none; } .cnblogs-markdown .anchor { position: absolute; top: 0; left: 0; display: block; padding-right: 6px; padding-left: 30px; margin-left: -30px; } .cnblogs-markdown .anchor:focus { outline: none; } .cnblogs-markdown h1, .cnblogs-markdown h2, .cnblogs-markdown h3, .cnblogs-markdown h4, .cnblogs-markdown h5, .cnblogs-markdown h6 { position: relative; margin-top: 1em; margin-bottom: 16px; font-weight: bold; line-height: 1.4; } .cnblogs-markdown h1 .octicon-link, .cnblogs-markdown h2 .octicon-link, .cnblogs-markdown h3 .octicon-link, .cnblogs-markdown h4 .octicon-link, .cnblogs-markdown h5 .octicon-link, .cnblogs-markdown h6 .octicon-link { display: none; color: #000; vertical-align: middle; } .cnblogs-markdown h1:hover .anchor, .cnblogs-markdown h2:hover .anchor, .cnblogs-markdown h3:hover .anchor, .cnblogs-markdown h4:hover .anchor, .cnblogs-markdown h5:hover .anchor, .cnblogs-markdown h6:hover .anchor { padding-left: 8px; margin-left: -30px; text-decoration: none; } .cnblogs-markdown h1:hover .anchor .octicon-link, .cnblogs-markdown h2:hover .anchor .octicon-link, .cnblogs-markdown h3:hover .anchor .octicon-link, .cnblogs-markdown h4:hover .anchor .octicon-link, .cnblogs-markdown h5:hover .anchor .octicon-link, .cnblogs-markdown h6:hover .anchor .octicon-link { display: inline-block; } .cnblogs-markdown h1 { padding-bottom: 0.3em; font-size: 2.25em !important; line-height: 1.2; border-bottom: 1px solid #eee; } .cnblogs-markdown h1 .anchor { line-height: 1; } .cnblogs-markdown h2 { padding-bottom: 0.3em; font-size: 1.75em !important; line-height: 1.225; border-bottom: 1px solid #eee; } .cnblogs-markdown h2 .anchor { line-height: 1; } .cnblogs-markdown h3 { font-size: 1.5em!important; line-height: 1.43; } .cnblogs-markdown h3 .anchor { line-height: 1.2; } .cnblogs-markdown h4 { font-size: 1.25em !important; } .cnblogs-markdown h4 .anchor { line-height: 1.2; } .cnblogs-markdown h5 { font-size: 1em !important; } .cnblogs-markdown h5 .anchor { line-height: 1.1; } .cnblogs-markdown h6 { font-size: 1em !important; color: #777; } .cnblogs-markdown h6 .anchor { line-height: 1.1; } .cnblogs-markdown p, .cnblogs-markdown blockquote, .cnblogs-markdown ul, .cnblogs-markdown ol, .cnblogs-markdown dl, .cnblogs-markdown table, .cnblogs-markdown pre { margin-top: 0; margin-bottom: 16px; } .cnblogs-markdown hr { height: 4px; padding: 0; margin: 16px 0; background-color: #e7e7e7; border: 0 none; } .cnblogs-markdown ul, .cnblogs-markdown ol { padding-left: 2em; font-size: 14px; } .cnblogs-markdown ul ul, .cnblogs-markdown ul ol, .cnblogs-markdown ol ol, .cnblogs-markdown ol ul { margin-top: 0; margin-bottom: 0; } .cnblogs-markdown li>p { margin-top: 16px; } .cnblogs-markdown dl { padding: 0; } .cnblogs-markdown dl dt { padding: 0; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: bold; } .cnblogs-markdown dl dd { padding: 0 16px; margin-bottom: 16px; } .cnblogs-markdown blockquote { color: #333; padding: 10px 15px; border: none; border-left: 10px solid #D6DBDF; } .cnblogs-markdown blockquote>:first-child { margin-top: 0; } .cnblogs-markdown blockquote>:last-child { margin-bottom: 0; } .cnblogs-markdown table { display: block; width: 100%; overflow: auto; word-break: normal; word-break: keep-all; } .cnblogs-markdown table th { font-weight: bold; } .cnblogs-markdown table th, .cnblogs-markdown table td { padding: 6px 13px; border: 1px solid #ddd; } .cnblogs-markdown table tr { background-color: #fff; border-top: 1px solid #ccc; } .cnblogs-markdown table tr:nth-child(2n) { background-color: #f8f8f8; } .cnblogs-markdown img { max-width: 100%; box-sizing: border-box; } .cnblogs-markdown code { padding: 0; padding-top: 0.2em; padding-bottom: 0.2em; margin: 0; font-size: 85%; background-color: rgba(0,0,0,0.04); border-radius: 3px; border: none !important; display: inline-block; } .cnblogs-markdown code:before, .cnblogs-markdown code:after { letter-spacing: -0.2em; content: "\00a0"; } /*only for syntaxhighlighter */ /*--start--*/ .cnblogs-markdown .syntaxhighlighter table td.code { width:95% !important; } .cnblogs-markdown .syntaxhighlighter code { font-family: "Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace!important; padding: 0 !important; border-radius: 0 !important; background-color: transparent !important; } .cnblogs-markdown .syntaxhighlighter code:before, .cnblogs-markdown .syntaxhighlighter code:before { letter-spacing: -0.5em; } /*--end--*/ .cnblogs-markdown pre>code { padding: 0; margin: 0; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0; } .cnblogs-markdown .highlight { margin-bottom: 16px; } .cnblogs-markdown .highlight pre, .cnblogs-markdown pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: #f7f7f7; border-radius: 3px; } .cnblogs-markdown .highlight pre { margin-bottom: 0; word-break: normal; } .cnblogs-markdown pre { word-wrap: normal; } .cnblogs-markdown pre code { display: inline; max-width: initial; padding: 0; margin: 0; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } .cnblogs-markdown pre code:before, .cnblogs-markdown pre code:after { content: normal; } .cnblogs-markdown kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: #555; vertical-align: middle; background-color: #fcfcfc; border: solid 1px #ccc; border-bottom-color: #bbb; border-radius: 3px; box-shadow: inset 0 -1px 0 #bbb; } .cnblogs-markdown .pl-c { color: #969896; } .cnblogs-markdown .pl-c1, .cnblogs-markdown .pl-mdh, .cnblogs-markdown .pl-mm, .cnblogs-markdown .pl-mp, .cnblogs-markdown .pl-mr, .cnblogs-markdown .pl-s1 .pl-v, .cnblogs-markdown .pl-s3, .cnblogs-markdown .pl-sc, .cnblogs-markdown .pl-sv { color: #0086b3; } .cnblogs-markdown .pl-e, .cnblogs-markdown .pl-en { color: #795da3; } .cnblogs-markdown .pl-s1 .pl-s2, .cnblogs-markdown .pl-smi, .cnblogs-markdown .pl-smp, .cnblogs-markdown .pl-stj, .cnblogs-markdown .pl-vo, .cnblogs-markdown .pl-vpf { color: #333; } .cnblogs-markdown .pl-ent { color: #63a35c; } .cnblogs-markdown .pl-k, .cnblogs-markdown .pl-s, .cnblogs-markdown .pl-st { color: #a71d5d; } .cnblogs-markdown .pl-pds, .cnblogs-markdown .pl-s1, .cnblogs-markdown .pl-s1 .pl-pse .pl-s2, .cnblogs-markdown .pl-sr, .cnblogs-markdown .pl-sr .pl-cce, .cnblogs-markdown .pl-sr .pl-sra, .cnblogs-markdown .pl-sr .pl-sre, .cnblogs-markdown .pl-src { color: #183691; } .cnblogs-markdown .pl-v { color: #ed6a43; } .cnblogs-markdown .pl-id { color: #b52a1d; } .cnblogs-markdown .pl-ii { background-color: #b52a1d; color: #f8f8f8; } .cnblogs-markdown .pl-sr .pl-cce { color: #63a35c; font-weight: bold; } .cnblogs-markdown .pl-ml { color: #693a17; } .cnblogs-markdown .pl-mh, .cnblogs-markdown .pl-mh .pl-en, .cnblogs-markdown .pl-ms { color: #1d3e81; font-weight: bold; } .cnblogs-markdown .pl-mq { color: #008080; } .cnblogs-markdown .pl-mi { color: #333; font-style: italic; } .cnblogs-markdown .pl-mb { color: #333; font-weight: bold; } .cnblogs-markdown .pl-md, .cnblogs-markdown .pl-mdhf { background-color: #ffecec; color: #bd2c00; } .cnblogs-markdown .pl-mdht, .cnblogs-markdown .pl-mi1 { background-color: #eaffea; color: #55a532; } .cnblogs-markdown .pl-mdr { color: #795da3; font-weight: bold; } .cnblogs-markdown .pl-mo { color: #1d3e81; } .cnblogs-markdown kbd { display: inline-block; padding: 3px 5px; font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; line-height: 10px; color: #555; vertical-align: middle; background-color: #fcfcfc; border: solid 1px #ccc; border-bottom-color: #bbb; border-radius: 3px; box-shadow: inset 0 -1px 0 #bbb; padding-top: 20px; } .cnblogs-markdown .task-list-item { list-style-type: none; } .cnblogs-markdown .task-list-item+.task-list-item { margin-top: 3px; } .cnblogs-markdown .task-list-item input { margin: 0 0.35em 0.25em -1.6em; vertical-align: middle; } .cnblogs-markdown :checked+.radio-label { z-index: 1; position: relative; border-color: #4183c4; }