Web前端战略前沿技术 公众号面试的公众号还有哪些?

前端开发(23)
以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中有一些未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教。:)
HTML/CSS部分
1、什么是盒子模型?
在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或区域。4个部分一起构成了css中元素的盒模型。
2、行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
行内元素:a、b、span、img、input、strong、select、label、em、button、textarea
块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote
空元素:即系没有内容的HTML元素,例如:br、meta、hr、link、input、img
3、CSS实现垂直水平居中
一道经典的问题,实现方法有很多种,以下是其中一种实现:
HTML结构:
.wrapper {
position: relative;
width: 500px;
height: 500px;
background-color: #ddd;
background-color:#6699FF;
width:200px;
height:200px;
position: absolute;
//父元素需要相对定位
left: 50%;
margin-top:-100px ;
//二分之一的height,width
margin-left: -100px;
4、简述一下src与href的区别
href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。
src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
5、什么是CSS Hack?
一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack。
IE浏览器Hack一般又分为三种,条件Hack、属性级Hack、选择符Hack(详细参考CSS文档:)。例如:
&!--[if IE]&
.test{color:}
&![endif]--&
color:#090\9;
*color:#f00;
_color:#ff0;
* html .test{color:#090;}
* + html .test{color:#ff0;}
6、简述同步和异步的区别
同步是阻塞模式,异步是非阻塞模式。
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
7、px和em的区别
px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易。em得值不是固定的,并且em会继承父级元素的字体大小。
浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em
8、什么叫优雅降级和渐进增强?
渐进增强 progressive enhancement:
针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:
一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
a. 优雅降级是从复杂的现状开始,并试图减少用户体验的供给
b. 渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要
c. 降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带
9、浏览器的内核分别是什么?
IE: trident内核
Firefox:gecko内核
Safari:webkit内核
Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核
Chrome:Blink(基于webkit,Google与Opera Software共同开发)
JavaScript部分
怎样添加、移除、移动、复制、创建和查找节点?
1)创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
2)添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
function clone(obj) {
switch (typeof obj) {
case &undefined&:
case &string&:
o = obj + &&;
case &number&:
o = obj - 0;
case &boolean&:
case &object&:
if (obj === null) {
if (Object.prototype.toString.call(obj).slice(8, -1) === &Array&) {
for (var i = 0; i & obj.length; i++) {
o.push(clone(obj[i]));
for (var k in obj) {
o[k] = clone(obj[k]);
如何消除一个数组里面重复的元素?
var arr1 =[1,2,2,2,3,3,3,4,5,6],
arr2 = [];
for(var i = 0,len = arr1.length; i& len; i++){
if(arr2.indexOf(arr1[i]) & 0){
arr2.push(arr1[i]);
document.write(arr2);
在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象。
function log(){
var args = Array.prototype.slice.call(arguments);
args.unshift('(app)');
console.log.apply(console, args);
Javascript中callee和caller的作用?
caller是返回一个对函数的引用,该函数调用了当前函数;
callee是返回正在被执行的function函数,也就是所指定的function对象的正文。
请描述一下cookies,sessionStorage和localStorage的区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
web storage和cookie的区别
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
除此之外,Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。
统计字符串中字母个数或统计最多字母数。
var str = &aaaabbbccccddfgh&;
for(var i=0;i&str.length;i++){
var v = str.charAt(i);
if(obj[v] && obj[v].value == v){
obj[v].count = ++ obj[v].count;
obj[v] = {};
obj[v].count = 1;
obj[v].value = v;
for(key in obj){
document.write(obj[key].value +'='+obj[key].count+'&');
jQuery的事件委托方法on、live、delegate之间有什么区别?
如何理解闭包?
跨域请求资源的方法有哪些?
谈谈垃圾回收机制方式及内存管理
开发过程中遇到的内存泄露情况,如何解决的?
一次完整的HTTP事务是怎样的一个过程?
基本流程:
a. 域名解析
b. 发起TCP的3次握手
c. 建立TCP连接后发起http请求
d. 服务器端响应http请求,浏览器得到html代码
e. 浏览器解析html代码,并请求html代码中的资源
f. 浏览器对页面进行渲染呈现给用户
HTTP的状态码有哪些?
HTTPS是如何实现加密?
手写数组快速排序
关于快排算法的详细说明,可以参考阮一峰老师的文章
&快速排序&的思想很简单,整个排序过程只需要三步:
(1)在数据集之中,选择一个元素作为&基准&(pivot)。
(2)所有小于&基准&的元素,都移到&基准&的左边;所有大于&基准&的元素,都移到&基准&的右边。
(3)对&基准&左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。
参考代码:
var quickSort = function(arr) {
  if (arr.length &= 1) { return arr; }
  var pivotIndex = Math.floor(arr.length / 2);
  var pivot = arr.splice(pivotIndex, 1)[0];
  var left = [];
  var right = [];
  for (var i = 0; i & arr.length; i++){
    if (arr[i] & pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
  return quickSort(left).concat([pivot], quickSort(right));
JavaScript实现二分法查找
二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程可以分为以下步骤:
(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。
(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。
(3)如果某一步数组为空,则表示找不到目标元素。
function binary_search(arr, key) {
var low = 0,
high = arr.length - 1;
while(low &= high){
var mid = parseInt((high + low) / 2);
if(key == arr[mid]){
}else if(key & arr[mid]){
low = mid + 1;
}else if(key & arr[mid]){
high = mid -1;
return -1;
var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86];
var result = binary_search(arr,10);
alert(result);
function binary_search(arr,low, high, key) {
if (low & high){
return -1;
var mid = parseInt((high + low) / 2);
if(arr[mid] == key){
return mid;
}else if (arr[mid] & key){
high = mid - 1;
return binary_search(arr, low, high, key);
}else if (arr[mid] & key){
low = mid + 1;
return binary_search(arr, low, high, key);
var arr = [1,2,3,4,5,6,7,8,9,10,11,23,44,86];
var result = binary_search(arr, 0, 13, 10);
alert(result);
你所了解到的Web攻击技术
(1)XSS(Cross-Site Scripting,跨站脚本攻击):指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或者JavaScript进行的一种攻击。
(2)SQL注入攻击
(3)CSRF(Cross-Site Request Forgeries,跨站点请求伪造):指攻击者通过设置好的陷阱,强制对已完成的认证用户进行非预期的个人信息或设定信息等某些状态更新。
如何优化图像、图像格式的区别?
浏览器是如何渲染页面的?
对MVC、MVVM的理解
正则表达式
写一个function,清除字符串前后的空格。(兼容所有浏览器)
function trim(str) {
if (str && typeof str === &string&) {
return str.replace(/(^\s*)|(\s*)$/g,&&);
使用正则表达式验证邮箱格式
var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
var email = &&;
console.log(reg.test(email));
对前端工程师这个职位你是怎么样理解的?
a. 前端是最贴近用户的程序员,前端的能力就是能让产品从 90分进化到 100 分,甚至更好
b. 参与项目,快速高质量完成实现效果图,精确到1px;
c. 与团队成员,UI设计,产品经理的沟通;
d. 做好的页面结构,页面重构和用户体验;
e. 处理hack,兼容、写出优美的代码格式;
f. 针对服务器的优化、拥抱最新前端技术。
本文链接:
【关于我们】
每天名企社招内推(公众号:ourpush),专注于国内各大互联网公司社会招聘内推。每天更新最新互联网名企(包括但不限于BAT网易小米京东乐视携程等名企)内推信息,有技术岗、有产品岗、有运营岗、有设计岗、有交互岗、有销售岗,更有其他N多相关岗位!更多内推信息请扫描以下二维码关注查阅。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:60253次
排名:千里之外
转载:167篇
(2)(36)(9)(50)(30)(47)中国领先的IT技术网站
51CTO旗下网站
2015腾讯暑期实习生 Web前端开发面试经历
好吧,首先声明,我被刷了,应该是跪在二面。微信查到的面试状态一直呈现复试中 .. 整整四天了.. 看来是没希望了。不过也是一次经历,记录一下还是可以的 ..
作者:来源:博客园| 15:05
零、TST内推
TST还是有必要提一下,早早就随大家把简历交上去内推了
很多人都有评级了,各种评级都有
从头到尾都查不到评级..是漏了..还是简历太渣看不上...
还是怎么回事..衰..
笔试是在3月29号在华工考的,腾讯的笔试一直都那么回事,技术岗的都同样一份试题。
试题上一般都会涉及:操作系统、数据库、计算机网络、C/C++、编译原理、概率论、算法、更甚的还出现js、ios ...
不知道多少分才算通过,但记得那会儿答得不是很好。选择题是大坑:多选,少选,错选都不得分!!
有一半左右的人都提前十几二十分钟交卷了,我坚持到了打铃..
在4月3号下午码代码时突然接到腾讯那边的电话,说是要提前了解一下基本情况..好吧,不知所措,扯了二十来分钟。
顺便问笔试结果,还没有结果..
广州区这边的面试时间是4月8号--4月12号
在4月7号下午收到了笔试通过的消息,并通知8号早上11点到喜来登酒店参加TRD面试
可激动了..而且是11点,不用赶早挤地铁..
8号早上11点的面试,我这人也不急,算好时间后早上九点半点就挤地铁去了,大概十点半就到达喜来登酒店,哇了个赛..果然自己没参加过大型的面试,太多人了,大堂里边至少也得有四五百人吧。
有三个区域:霸面的、技术岗和设计岗的、其他岗的
签到好了之后,就坐旁边等面试了。期间自己的房间号被叫了三次..都没轮到我..衰..果然是单面面试时间太久了。
等到11点40分左右,轮到我了,遂进电梯...出电梯...礼貌性地敲了敲门。
ok,进门去了,这酒店房间真个优雅了得,静幽幽的,面试官帅比在那儿笑脸迎对。
面试官先是寒暄几句:是不是等久了呀。
我也随意说了几句,然后递给面试官简历。
&嗯,那你先大概花一分钟时间自我介绍一下吧&
随即扯了自己基本信息,说了说自己对Web前端的认识,平时的学习爱好等,大概一分钟左右就讲完了,期间一直跟面试官眼神交流。
然后面试官顿了顿,说到:你是学过C的吧,我先给你出个题,写个C的字符串拷贝函数。
我学过C,但好久都没碰了,而且一般都是用string库来写,现在..只好硬着头皮写了。
也不知道对不对,写了几分钟,记得代码是这样的:
char&*strCopy(char&*data){&char&str[10001];&int&index&=&0;&for(int&i=0;i&strlen(data);i++){&str[index++]&=&data[i];&}&return&&}&
然后自己不确定对不对,就跟面试官解释了一下不太熟悉了这种东西,
然后面试官问:你觉得这样会有什么问题呢
我不知道..所以就不清楚地回复了..然后他也没问什么了
然后呢,传说中的逻辑题来了
&好,那我再给你出个题目吧。现在有一大块金条,它可以分为七小块金条。是这样子的,工人为你工作7天,每天都将获得一小块金条,你要做的就是发工资,切割大块金条的次数最多两次,你有什么方法让工人每天都获得一小块金条呢?&
真是个逻辑问题啊..
然后我就在那里想啊想,前面几分钟一直想着是不是一定要切割两次就能分出7块,就一直浪费时间..
之后面试官就一直问我是不是听懂题目了..好吧,经他提醒,我理解到了&交易&这种行为,多还少补..又想了几分钟,说了出口,一下子却又乱了起来
早知道就把草稿纸拿过来先了..有记录才清晰
先把大块切两次,形成4、2、1小块,&&第一天给工人1小块,&&第二天给工人2小块并补回1小块,&&第三天给工人1小块,&&第四天给工人4小块并补回2、1小块&&第五天给工人1小块,&&第六天给工人2小块并补回1小块,&&第七条给工人最后的1小块。&
完成..算是道出来了吧..这道题都快花了15分钟..
然后面试官就稍微问了下我做的那两个项目,浅尝截止而已,我说了那个小网站的构建时,提到了使用ajax,然后面试官就打断了..
&ajax是吧,你现在能不能用js写个原生的ajax过程出来呢?&
可以啊,然后就开始写咯..字迹好潦草..写了几分钟写完了,期间面试官抽烟起来了..问我介不介意...
但不完整,细节的,我..忘..了..真是衰。记得我把代码写成这样:
var&xmlHttp&=&null;&if(Window.XMLHttpRequest){&xmlHttp&=&new&XMLHttpRequest();&}&if(Window.ActiveXObject){&xmlHttp&=&new&ActiveX(&Microsoft.XMLHttp&);&}&&if(xmlHttp&!=&null){&xmlHttp.open(&GET&,url,true);&&if(xmlHttp.readyState&==&4&&&&xmlHttp.status&==&200){&var&data&=&xmlHttp.responseT&}&xmlHttp.send();&}&
写完就觉得怪怪的,但那会儿又不知道哪里怪了..然后就解释了一下就这么过去了,面试官也没说什么。
接下来面试官又看了看简历,说道:你了解HTML5么,说一下它有哪些新特性吧
然后我就说了一大堆它的新特性,自觉答得挺全~
接着:假设我现在在浏览器地址栏里输入
从这到相应页面的过程中,这都发生了什么?你稍微描述一下吧
然后我就描述啊,自觉答得挺全~
接着:你是网络工程专业的呀,这个专业是学什么的?
这个问题真是...我真不知道怎么描述这个专业..好吧也扯了扯相关的课程啊学习的东西什么的,之后
面试官问:好吧,那你说一下网络分层里边七层模型是哪七层?
我:从下往上来说,先是物理层,然后数据链路层,网络层,传输层,会话层,然后...灏..第六层我居然忘了,最后一层是应用层,跟面试官说不好意思第六层我忘了...
&嗯没事,那我问一下几个协议,HTTP是什么协议?在哪一层?&
我:超文本传输协议,在应用层
我:文件传输协议,也是在应用层吧
&SNAP呢& (后来才知道是子网访问协议)
我:面试官这个协议我好像没什么印象呀,不清楚..
随后结束了这一小段,面试官:你一般会把样式表放在HTML文件的哪部分呢?
我:独立出一个文件吧,如果要放在HTML文件中,就放到头部
&为什么要放头部呢&
我:为什么啊,这么说吧,如果不放到头部,就有可能产生&白屏的现象&,也就是页面的渲染会不到位什么的
面试官:假如一个Web项目,你发现它运行得很慢,你一般会有什么方式来加快它呢,来优化它?
然后我就扯了一些雅虎优化的那堆建议咯,看来面试官还是挺满意的~
其余好像还有问道一些技术问题,但记不清了
接下来继续展开聊天模式了
面试官:你平时怎么学前端的呢?
我:首先是自我学习,主动学习,关注一些牛人的博客,或者各种相关网站平台等等,获取最新的技术讯息,并投入学习。然后平时还写一下技术博客来记录自己的学习,与其他人交流什么的.....
面试官:你有什么爱好呢,平时有什么习惯?
我:学习啊,搞技术啊,当然除了这些,平时还经常运动,跑步打球什么的
然后面试官就和我聊起了运动...
面试官:你觉得你自己是怎样的人呢?
这问题..怎么都谈起人生来了呢,话说不是应该hr才问的嘛...然后我就说了几句
面试官:你身边的人觉得你是怎样的人呢?
也描述了几下
面试官:你用几个关键词简述你自己吧?
我就发挥我难得的语文水平概括了四五个关键字..
面试官:嗯,我的问题问完了,你看看你又什么问题要问我的呢?
我就提出了三四个小问题,然后聊了起来..
面试官:好吧,时间也差不多了,那今天的面试就先到这里吧
然后就关心一下面试官,问他一大早面试那么多人累不累啊,要不要去吃饭啊..
然后出门,一看时间,12点45分,持续了65分钟..
=====================================================================
这个一面,总的来说,还算不错,面试官很和善,很帅比~ 估计28-33岁左右吧
问的问题也比较基础,但前端相关的也还算齐全
然后就回去等消息了
很多人当天就收到通知去二面了..我第二天上午10点才收到通知下去3点去酒店二面..
=====================================================================
9号下午3点的面试,2点就到达酒店,签到时才发现 腾讯这边的系统竟然没把我名字放进去...这也太不协调了吧..
处理了几分钟,好了,3点钟,准时上楼二面。
敲门,似乎没回应。
停了几秒,再敲,面试官亲自开门了....
二面面试官看起来有些严格啊,应该是主管一类的人吧,年纪看起来40岁左右。
那么问题来了,我面的是SNG的前端方向,那么这位中型身材,头发很短短到快光头的面试官担任的是什么职位呢?部门总监?
本以为二面要准备新简历的,带过来,他说他已经有一份了。
瞥眼过去,我的简历上边写了两三行字,应该是一面面试官的评价吧,看不太清。
面试官:你先花一分钟自我介绍吧
我:如一面那般介绍起来
面试官:你在你们这个专业成绩排名是什么水平呢?绩点排名?说一下
其实我是个学渣..成绩一直很不理想..所以很自觉地跟面试官解释了一通,我的绩点三年来2.4--&2.9--&3.3
然后我还是计算机系里边分出来的网络工程专业..
其实我知道会越说越乱的..谁让我成绩太低说不出口呢..
然后面试官似乎有些不耐烦了:怎么听起来乱乱的呢,你就说一下你们班有多少人,你的成绩排在你们班多少名吧。
我要怎么说..我们系比较特别,究竟是按照基本的班级排名来说,还是按照专业班级排名来说呢..
最后我选择按专业排名来讲了,中下游吧,确实很低。一个班六十几,我大概就排四十几名。不过又解释了很多成绩相关的东东..想掩饰不足啊..
然后面试官翻了翻简历,说:我看你做过几个项目啊,你说一说你做得最好的那个项目吧。
我就拿我那个node.js版的聊天室扯了扯,描述这个东西大概都花了十几二十分钟左右。
然后非常巧妙得通过这个项目联系到了其他几个项目,
期间他一直问我遇到的问题,怎么解决的。
如实汇报了。说了很久,看来他已经了解了基本情况。
接下来就是摸清我的底细了
面试官:一面的面试官有给你出过题目吗
我:出过几个,嗯,三个。一个c的拷贝函数,一个逻辑题,一个ajax的js原生写法
面试官:嗯,我也给你出个题吧。
现在有100亿个数字大小为1到10亿的数字,在这100亿个数字里边只有一个数字出现的次数是奇数次的,你用什么方法,找出这个数字呢?
看看腾讯出海量数据,真是毫不含糊..
因为平时很少接触大大大数据,有点慌了神,前面一直浪费时间啊,还一直以为是100亿个数字里边只有一个奇数,然后直接判断奇数....看来以后要认真听面试官说话
然后想了很久还是没想法,因为自己对于算法,对于时间、空间复杂度这堆东西都不太熟悉,面对大数据更是不知道如何存放处理等,
生怕面试官一句反问:这么大的数据,这么做你不觉得会出现什么问题么
当然,我之中回答的时候他也这么问了..
前后大概有十分钟了,面试官看我没什么头绪,就提点提点了,这一提点,反倒端了我的底,我脆弱的心灵受到了打击..
面试官先是问了:10亿这个数字,用int能装得下吗
我之前有看到过,但说实话,还真没了解到..但潜意识里认为是可以的,所以就说:应该是可以的
然后面试官说:这个你不知道吗,装10亿个数字要多少容量呢,这是装数据,要是运行起来呢,又要占用多少内存呢
我真的不了解啊..被面试官这么一说,顿时乱了
然后面试官说,你们不是学过计算机原理吗,操作系统?这些课程没学到过计算机内存吗,你知道32位和64位电脑的区别吗,你说int占用多少字节呢
我就挑最后的说了..int在32位里面占用4字节
然后面试官说,占4字节,那么你说这道题该怎么处理呢?运行这堆数字要用多少内存?
我就在哪里用笔演算了..
不料,面试官插话了:你算出来没有?二的32次方也不会算吗?多少?
我:..好吧我吹了,真就不会算了咋地啊...-_- ... 4G吧,
面试官:嗯?是么
我:不对,是4M
面试官:是4G,然后又扯啊扯一堆计算机内存之类的东东..最后说道:我看你这道题也是解不出了,要不我换个题目吧。
面试官:给你出个博弈题。
A和B分苹果。分苹果策略是一次一个或者两个,A先拿,然后B拿,然后A拿..一直到拿完
问什么方案,能让A拿到最后一个苹果呢?
其实这个题大一的时候做过,就在西西里..不过只有影子,思路忘了。只好一个劲得想。
想了大概5分钟。面试官也起身走动了一会儿。
然后跟面试官说:那就A先拿2个吧,然后B拿多少个都无所谓,只要接下来A拿苹果的方式是与上一次B的方式不同就可以。然后就跟面试官解释了一下思路啊什么的。我也不知道对不对,但自觉好像蛮有道理的嘛。
然后面试官没说什么,就一直滚鼠标啊,我们沉默了至少有十几秒吧,估计不知问我什么了。
终于开口了..面试官:我再问你个问题吧
随机发牌。有10000张牌,随机发出一张,要使得随机发出的牌不重复,而且时间、空间复杂度要恒定。你觉得怎样做可以达到这个目的呢?
我悲催..怎么又是问这种算法题..明知我很弱很菜
想到了用新数组存、哈希映射标记什么的,但跟面试官说了说发现有问题
然后提出每随机发出就删除那个数,那个下标,取消稀疏数组,都往前移动这个方案。
面试官:嗯,这个是可以,但如果随机发1亿张牌呢,你也这么移动?不要想得太复杂了
怎么又把亿抖出来了...然后我又想啊想,实在想不出了,放弃了
面试官:其实这个方法很简单,就是随机发出的那张牌跟最后那张换一下不就行了,我都说不要想得很复杂了
我只好:奥 原来是这样..只怪我思维不够开阔啊..真是..
这会儿,时间似乎差不多了
面试官说:这样吧,我看今天的面试就到这里了吧,你先回去,接下去我们再通知你本次面试的情况。
我再也坐不住了(没有前端),问面试官:嗯,对了面试官,我可以问一下您为什么没有问我前端相关的知识么?
面试官:这个方面呀,我看你已经过了一面了,我想你的前台水平肯定是过关了,就没有必要再问下去了
我:嗯,一面的面试官确实问了很多前端相关的问题,但都没怎么深入,比如js方面,他基本没问下去
面试官:我个人是觉得,对实习生要求基础就行了,我们也不奢望对于实习生能有多大要求是吧,你说我也没必要问你们实习生一些比如跨域、web安全性或者性能等方面的内容吧,你们也不了解,问了也没意思,所以还是问一些比较基础的问题算了。
我:恩恩也是,好吧,那今天先这样了~ 再见..
然后伴随着我对面试官的寒暄
这次稍微久了点,看表,4点13分
======================================================================
总体来说,这个二面挺不满意的,下楼的时候就意料会被刷..
从自己地表现来说,很多东西答不上来,语无伦次。
从面试官出题角度来说,我并不认为面试官应该这样出题,虽然我承认这些题目我不是很清楚。我是很渣,但丁点前端知识都不问,似乎不太好。
如果就直接就因为我这次二面的表现而被刷,我对自己计算机基础知识的不掌握而感到无奈,也对面试官出题不好而感到无奈。
======================================================================
然后就没有然后了吧
回去之后就一直等一直等,等到花儿都谢了
周围一些人当天晚上就收到hr面的通知了,一部分人第二天也收到了,
我的状态依然还是
要死也要死得痛快点啊
13号凌晨到了,心想是最后的机会了,一查,还是 复试中
后来听别人说:一般状态不变就是不通过面试了,不必要再等了。
我去!!!
让我干等四天,就告诉我让我猜猜是不是被刷了?
竟然懒到连状态都不舍得改
最后,没什么可说的,画面定格在这一刻
...........复试中复试中复试中复试中复试中复试中复试中复试中..........
秋招,我们继续
希望,别再遇到那个二面面试官
小尾巴一摆就是一个季节!
【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条原创头条头条头条
24H热文一周话题本月最赞
讲师:90573人学习过
讲师:11914人学习过
讲师:13337人学习过
精选博文论坛热帖下载排行
本书详细描述如何在复杂技术项目中使用Scrum,并结合真实的Scrum案例及专家洞识,在简明及高度概括的理论之上更侧重于实践,并不断强调Scru...
订阅51CTO邮刊

我要回帖

更多关于 微信公众号面试题 的文章

 

随机推荐