记一次面试

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

    2019.7.16日  天气:暴热暴晒,撑着伞都顶不住...   今天去面试前端实习生,到公司后就直接开始写笔试题目,然后写完后,与面试官进行交谈,发现自己的一些不足,然后后续自己需要对这些知识进行回顾和加强。 面试的面试官非常的nice,很友好并且还会逐渐指导你,引导你去对一些题的知识进行思考以及扩展知识考查等。

   总结一下,自己的js部分还是存在许多问题, 对知识点的理解不够透彻,自己的练习+理解还不够, 还需多加练习,值得一提的是,没有了编译器的自动提示等,自己很蒙蔽,所有就是得多手写代码,自己多练练。 (ps: 回去之后自己得每天20分钟 + 手写js代码练习(┬_┬) )总之,面试一次收获很多,反应自己的许多不足。

   举例一些题目:

下面是JavaScript的一个题目:

var a = 10;
var b = 20;

(function(){
    var a = b = 100;
    var c = 200;
    
})();
console.log(a);
console.log(b);
console.log(c);

答案分别是: a = 10,  b = 100,   c输出报错,c未定义  

 

题目:

var a = 100;    //全局作用域
function foo(){
    // var a 的声明将被提升到函数的顶部
    console.log(a);       //打印undefined
        
    
    var a = 200;       //local scope, 实际初始化值200只发生在这里
}
foo();

答案:   输出undefined

 

将var 换成let

var a = 100;
function foo(){
    console.log(a);
    let a = 200;
}
foo();

答案: 报错 ==>   ReferenceError:a undefined

 

一道考察输出顺序题:

            console.log(1);
            setTimeout(function(){
                  console.log(2);
            },100)

            setTimeout(function(){
                 console.log(3); 
            }, 0)

            var promise = new Promise(function(resolve, reject){
                  console.log(4);
                  resolve(5);
                  console.log(6);
            });
            console.log(7);
            promise.then(function(value){
                  console.log(value);
            });

 

输出:  1  4  6  7  5  3  2

 JavaScript是单线程运行的,无法同一时候运行多段代码。当某一段代码正在运行的时候,全部兴许的任务都必须等待,形成一个队列

旦当前任务运行完毕,再从队列中取出下一个任务,这也常被称为 “堵塞式运行”。所以一次鼠标点击,或是计时器到达时间点,或是Ajax请求完毕触发了回调函数。这些事件处理程序或回调函数都不会马上运行,而是马上排队。一旦线程有空暇就运行。假设代码中设定了一个 setTimeout,那么浏览器便会在合适的时间。将代码插入任务队列。假设这个时间设为 0,就代表马上插入队列,但不是马上运行,仍然要等待前面代码运行完成

所以 setTimeout 并不能保证运行的时间。是否及时运行取决于 JavaScript 线程是拥挤还是空暇

ES6   Promise对象中有三种状态:  pending(进行中)、  fulfilled(已成功)、 rejected(已失败)只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled 和 从pending变为rejected

resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

Promise实例生成以后,可以用then方法分别指定resolved状态rejected状态的回调函数。

所以这题先输出1, 然后到Promise新建后立即执行, 所以接着输出 4, 6 ,7;  然后,then  方法 指定的回调函数,将在当前脚本所有同步任务执行完才会执行,所以接着输出 5;  此时线程已经变为空暇, 轮到setTimeout的输出了, 然后输出3, 2

所以综合输出:    1    4    6    7    5     3     2

 

智力题:

1.  桌面上有100枚硬币,两个人在玩游戏,然后每个人轮流取硬币,取硬币数目为 [1, 5],即每个人最少拿一枚硬币, 最多拿5枚硬币,问最后谁取走硬币则谁赢,询问是否有必胜方法等?

 

答: 在面试官的指导下,逐渐推导出规律和致胜方法; 一开始以为是要手写个数据结构或者是算法,心想当个算法题来思考了,自己蒙了下,还在想着快速排序或者说找出规律,然后写出核心算法什么的....  实际上考察的是思维逻辑能力和应变能力等吧。

回去再思考了下:  其实就是  最少的 + 最多的数字 = 形成关键数字, 然后再看规则等。

找出关键的数字:  6,   然后推到100枚硬币是逐渐让自己处于6的倍数, 让对方拿,然后自己拿剩下的,就是必胜方法。先手优势很大, 让我想到下五子棋中,无禁手的黑子先手。   

 

2. 自己发现一道有趣的智力题: 一根粗细不均的绳子完全燃烧要一小时, 如何用它来测量75分钟时间?

 

解决方法:

取来三根绳子,绳子A,B, C;现将 A 绳子的两端同时点燃,需要的时间是半个小时,
然后将B , C绳子点燃,B 绳子点燃两端,C 绳子点燃一端,
等 B 绳子烧完之后时间是半小时, 再点燃 C 绳子的另一端, 等C绳子两端同时燃烧,烧完的时间是15分钟,这样子测的时间是  30 + 45 = 75分钟

 

 

一次边锋面试 大三电子专业第一次面试c++岗位,还是游戏公司,专业差还是有点大的而且面试让我忆尤新,so来一次。 填表 首先是个人信息录表,如果面试技术岗还会有一份面试题,有几道比较基础的选择题,然后有一道lambda的编程题,逻辑题,内存泄漏的经历,还有就是 cocos2d 的使用经历和题目。虽说这个对后面的面试没什么影响。 技术面 和我一起去的同学技术面特别快,也比较简单,但是我就... 阅读详情

相关推荐

2个腾讯百度的智力题

1:智力题:有100个球,两个人顺序抽球,任意抽1-4个球,问是你先抽还是第二次抽能保证使你抽到最后一个球? 答案:第二个抽取的可以拿到最后一个球 分析:方法一:区间划分,抽取求的范围是1-4.则两个人抽取的范围是2-8.但是8个球不能保证,可以保证的范围是2-5个球,因此,将100个球进行缩小范围是5个球,则要拿到第5个球,则需要拿到第0个球,即就是对方先抽取。 方法二:枚举法,从后往前分

程序圆—脱颖而出,卓尔不群 2253

集合——HashMap和Hashtable的区别

为什么80%的码农都做不了架构师?>>> ...

weixin_34148508的博客 585

一次面试经历

接到一个大佬公司的面试邀请,昨天去了趟感觉到自己的基础还是十分薄弱特别是基础知识这块,这些问题我都接触过但是就是答不出来,之前一直觉得计算机这种东西做出来就行了,然后被深深的打击了一下,现在录下希望以后回顾继续砥砺前行 1.linux下查看文件第20-30行内容 答: (1)head -30 ett.txt | tail -11 解析:这个命令是两个命令(head 和ta...

汐银的博客 386

面试智力题锦集

1.现在有100瓶药,只有1瓶是有毒的,老鼠试完药后,需要3天才能才能知道药是否有毒,而现在需要3天知道100瓶中哪1瓶有毒,请问最少需要多少只老鼠?   2.容量为5升和6升的瓶子怎么装出3升的水?   3.一根粗细不均的绳子完全燃烧要一小时,如何用它测量75分钟时间?   4.小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明...

zhusongziye的博客 3313

一次前端面试

1.前言 被别人面试了这么久,这一回,我终于有机会能面试别人啦!首先声明来面试的是一个大四的女生,HR和我说笔试成绩还可以,叫我过去面试看看是否真的有实力。 2.从面试看怎么准备 拿着电脑赶忙过去会议...

setsunadoudou的博客 115

一次Java面试1

一次Java面试经历(大概的问题)自我介绍是面试的第一步Java基础是必须面的数据库是要考的框架不是会用就可以的算法多多少少要意思意思 自我介绍是面试的第一步 因为目前还没有毕业,也没有实习经历,所以简单的介绍了大学的课程,专业,在学校做的一些小东西,然后还有说了一下毕设。 Java基础是必须面的 封装继承多态等(多态当时没说好混了) Java线程方面的 集合里面list,set,map区别 hashmap底层原理(数组加链表,红黑树) Java虚拟机内存模型优化啊什么的。可以和线程一起讲。 这部分可以

qq_42985657的博客 158

自己的一次CVTE面试

自己的一次CVTE面试自己的一次CVTE面试你最近完成的项目哪个是比较有难度的?简要介绍一下项目项目的难点在哪里那你们是如何处理你们的缓存如果使用HashMap来存储你们的缓存,数据量大时会出现什么问题。本地缓存的一些开源方案你们的数据交换的异步是如何实现的有使用到Spring Cloud吗项目中使用Spring Cloud使用了哪些组件zuul的实现原理知道吗?Spring Boot的自动装配原理有使用Redis吗?项目中使用redis的场景主要是?redis的其他场景有了解过吗redis的list的

匿迹 6610

一次蚂蚁金服的面试经历

点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标2015在实习的时候,当时一个一起实习的朋友在2019年3月份的时候突然在微信上找我,问我要不要...

欢迎关注公众号:【码农突围】,公号后台回复9999,可以获取一份500页的LeetCode刷题笔记。 7983

一次面試

一次面試 作为在CSDN的博客处女作,我觉得还是先分享一下最近的一次求职经历吧!!!!!!!!!!!!!! 2020年是个不平凡的一年,犹得新年的第一天还守候了第一个日出,面对朝阳,许下了一个个心愿清单。。 好景不长,疫情来袭!!! 年后各行各业都或多或少受到了冲击,前公司也不例外,于是,在今年6月份本萌新也离职了,离职后的我,并没有直接开始求职之路,而是趁着疫情相对稳定开始执行年初立下的flag—旅游!!! 经历了两个月的诗和远方后,来到了深圳,这个充满梦想的城市,踏上了新一轮的求职之路。 然鹅,现

weixin_51779676的博客 128

一次失败的面试

干开发六年了,说长不长说短不短,开发人员可能不是在焦虑中就是在走向焦虑的途中吧.前些日子更新了一下简历(并未投递),隔天收到一公司面试邀请,想了想,去呗,看看外面什么情况. 面试官人不错,可以说是面试官里的段子手.进来就问我对公司什么想法--外面只坐着两位老兄.呵呵. 稍作介绍不表. 问,有没有参与从0开始的项目? --有,不过不多 问,有没有参与技术选型? ...

weixin_30751947的博客 251

一次阿里面试总结

一面,电话面:大概早上9点左右,收到了阿里HR的小姐姐的电话,声音很好听,虽然后面不怎么管我了...跟她约了晚上9点的电话面..然后一整天上班不在状态,开始各种回顾之前准备的知识.为了这次面试大概准备了半个月,利用每天下班到家8点到凌晨1点30的时间,疯狂的补充自己的技术栈.感觉进步飞快.面试从晚上的8点开始,面试官要求在线做一道算法.不巧的是,我的电脑在不久前刚刚坏掉,所以没办法,只能找了楼下一...

大大钧的博客 1万+

一次失败的 ThoughtWorks 面试经历

本文内容面试流程HomeWorkPair ProgrammingFace-to-face Interviews面试心得 年前朋友问我,要不要试试 ThoughtWorks 澳洲线的岗位。对于这家号称“世界上面试最难”的公司,多少还是有一点畏惧,直到朋友安慰我说,它们这次有中级的岗位,还是可以试一试的,梦想还是要有的,万一实现了呢?自此,我凑齐了西安. NET圈子里的四大“天花板”公司的面试:葡萄城、活跃网络、奥博杰天、ThoughtWorks ,而对于我来说,亦有幸见识到世界上最难的面试,虽然后来事实证明,

素履独行 | 元培的个人博客 6658

一次腾讯微信面试

2017年7月毕业至今,已经快两年了,这两年的的技术积累得到到底怎样呢?个人觉得,面试是检验技术的唯一标准。所以,决定准备一份简历,到顶尖的互联网公司试一下,广州这边,最好的公司,当然就是微信啦。正好有师姐是在微信的,所以把简历发给了她,同时,我自己也在boss直聘上投了一个岗位,但是后来尴尬的事情发生了: 我的简历被微信的其他部门锁定了!就是 boss直聘 投递的微信开放平台岗位锁定了,所...

Java笔记 3246
上一篇: Flex布局的知识回顾 + 应用
下一篇: JavaScript基础知识巩固——对象篇
loringray
博客等级 码龄8年 20粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值