本文主要是介绍面试系列 | 腾讯大厦与我有个约定(面试精华帖),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
戳上方蓝字 “程序猿杂货铺” 关注我!
你的关注意义重大!
阅读文本大概需要 9 分钟。
作者 | 幸福村的张二哥 | http://t.cn/EMnSWOO
整理 | 程序猿杂货铺
在一个雨蒙蒙的清晨,百般无聊的闲逛中,突然回忆起了我这一生中的第一次面试经历。虽然结果是以失败而告终,但此时此刻的回忆,带给我的并不是失败而是成长。
作为一名实习生,我深刻的感受到在校园与社会夹缝中生活的不易。
也十分的幸运,我还有足够的青春与活力驱动着我去学习,让我的未来不再遥不可及;让我能在社会的这份土壤里扎根成长。
这一次的面试地点是成都腾讯大厦,对于我这类常在农村走,从未上过街的学生党来讲,我真的被眼前看到的惊呆了(没见过世面)。
门口的迎宾,高大帅气;
前台的女士,仪态端庄;
一旁的植物,生机勃勃;
楼道的电梯,金碧辉煌;
我站的地板,闪闪发光。
我内心中油然而生了一份自豪感,如果以后我能在这儿上班。那简直是人生巅峰,我就是村里最靓的仔呢!
一瞬间我就到达了指定楼层,这办公环境真的是超级nice!这前台小姐姐这么漂亮,这HR小姐姐好靓啊!比学校的妹子还乖!(我翻不到什么词汇来形容了)。
很快我拿到了一份笔试题;
1.请描述下状态码304?(5分)
表示浏览器端有缓存,并且服务端未更新,不用向服务器端请求资源。
2.写出5种css隐藏元素的办法(10分)
1.opacity: 0;
2.visibility: hidden;
3.display: none;
4.position: absolute;
top: -9999px;
left: -9999px;
5.clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
我只写出来了4种。第5种确实没遇到过,也没有想到过。
3.cookies与session有什么区别?(5分)
由于http请求是无状态的,需要cookie来做身份验证
1.cookies由服务端创建,发送给浏览器端,当用户发出请求后,带上cookie发送给服务端做验证。
2.来回传递过程中,占用带宽,消耗网络资源,并且容易被中间人获取或浏览器端用户篡改十分不安全
3.cookies大小只有4k
1.session主要存在于服务端,不会被发送到浏览器所以很安全
2.如果没有设置过期时间,在会话结束后session会自动消失
3.session主要用于服务端保存请求信息的机制
答得不够全面,所以请小伙伴们自行查阅资料
4.实现一个方法,找出一个数组中重复的元素(10分)
举例
arr = [1,2,3,4,1,1,2,4,4]
输出 [1,2,4]
复制代码
Array.prototype.repeNum = function(){
let new_arr = this.sort(); //先排序
let res = [] ;
for( let i = 0 ; i < new_arr.length ; i++){
if(new_arr[i] == new_arr[i+1] && //判断是否重复,是否已经放入容器
new_arr[i] !=new_arr[i-1]){
res.push(new_arr[i]);
}
}
return res
}
因为题目上说的要实现一个方法,所以我考虑到是给array原型加一个方法
5.将这段英文this is a pen首字母大写(10分)
法一:
function bigLetter(str){
let newArr = str.split(" ").map((v,i)=>{
return v.slice(0,1).toUpperCase() + v.slice(1)
})
return newArr.join(" ")
}
法二:
function bigLetter(str){
bigStr = str.toLowerCase().replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);
});
return bigStr;
}
由于这道面试题,曾经遇见过,所以给出了两种方法。能秀的时候绝对不马虎
6.请写出你常用的10个linux命令并说明作用(20分)
7.请写出你常用的5个git命令并说明作用(15分)
最后两题因为时间比较久远了,有点忘却了。但记得考察的是什么
8.关于Promise的题(10分)
我印象中有,然后输出什么 Promise.then() Promise.resolve(1) Promise.catch()
9.react向子组件传状态(15分)
constructor(){
this.state = {
name:'xxx'
}
}
<Person data={this.state.name} />
下面是Person组件
<div data={this.props.data} />
还有一个空我记不得了,反正一空 5 分
做完之后交给了 HR,过了一会儿之后 HR告诉我让我今天先回去,后面会在 3 天内告诉你笔试结果。
我依依不舍的被送到了门口,唉,好想在这儿多待一会儿,哪怕是让我在这儿干站到我都愿意啊!
临近 5:30时分,我接到了电话,说我笔试通过了,问我明天下午 2 点有没时间来面试? 对于我们这类无业青年来说,除了时间,我一无所有。
第二天
相同的时间相同的地方,我却走错了地方,原来成都腾讯大厦有AB两栋。马叔叔,你真有钱!
又是那高大帅气的迎宾;仪态端庄的前台;生机勃勃的植物;金碧辉煌的电梯;闪闪发光的地板,这个地板简直比我脸还干净。 又是那好看到爆的前台小姐姐,又是那漂亮到爆的hr。
在如此炎热的 8 月,我一口就喝下了前台小姐姐送来的水,但是我的内心还是十分的紧张,丝毫没有缓解的迹象。我的腿情不自禁地抖起来,我的手不停使唤地去阻止腿的抖动,然后他们一起抖了起来。
随后,HR 与面试官一同走了进来,我内心暗想这是什么情况?难道 HR 面和技术面同时进行?HR 拨通了一个电话,对方应该是另一个部门的负责人,然后 HR 说有两个部门都需要前端实习生,所以面试同时进行。我暗自高兴那我的胜算更大啦!我的紧张情绪终于得到了一丝缓解。
面试正式开始(由于题目的答案,并不固定所以我就不作答了,而且我个人认为当时也回答的相当不好,所以被 pass 掉了)
具体题目如下
先做个自我介绍吧!
看你项目你用过 react,那你来说说 react 与 vuejs 的区别
你能说说 react 的虚拟 DOM 吗?
你这个项目中你负责开发了哪些模块?能说说你主要的开发流程吗?
项目中有没有用过 Eslint
来讲讲 http?
http 请求头有哪些属性
说说 GET 与 POST 的区别
知道浏览器缓存吗?
图片懒加载能手写一下吗?
函数节流与防抖
讲讲怎么用 Promise
linux 如何修改文件权限
有了解过 webpack 吗?能说说吗?
loader 与plugin 的区别?
最后一个问题,你有什么想问我的吗?
我在网上看到加速乐是成都团队开发的,加速乐主要有什么用?用了什么技术栈
面试官:这个产品我可能讲的话,会讲很久。所以你还有没有什么其他想问的?
我:请问面试官你贵姓? (虽然带了工牌,我还是没能看清楚)
面试官:XX
面试官:你稍等一下
过了会之后 HR 告诉我,你先回去,后面我们会给你答复。
快到门口的时候,我回头问,是不是凉凉了?
HR回答说技术部门还在商量,暂时还不清楚。
在回家的路上,我没有骑摩拜单车,而是选择一个人在偌大的城市街头游走。
我不断地思索刚刚面试过程重中有哪些回答不好的地方。
我一直在等待那个 5 点多会打过来的电话,结果 6 点了,我的手机安静的像个睡着的婴儿。
我还怀着一丝侥幸猜想,可能还在加班哦。
直到夜晚的降临,我也渐渐懂得了这份弦外知音。
这次的失利,虽然对我的打击很大但是再大也浇不灭我执着追梦热爱前端的热情,也阻挡不了我更加努力的步伐。
几个月过去了
现在的我,回想当时,我不禁的发笑。
人总是在不断成长,就算跌倒了,拍拍身上的尘土,还是会向前奔跑。
感谢记忆,我将永远记住你带给我的一切,你留在我❤间无论是忧伤还是快乐,
现在或将来对我来说已是甜蜜,为此我要永远怀念你,感谢你❤
往期精彩回顾
什么样的对象需要被 GC ?
JVM 基本介绍
文章好看就点这里
这篇关于面试系列 | 腾讯大厦与我有个约定(面试精华帖)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!