面试题目
一、
请定义这样一个函数 function repeat (func, times, wait) { } 这个函数能返回一个新函数,比如这样用 var repeatedFun = repeat(alert, 10, 5000) 调用这个 repeatedFun ("hellworld") 会alert十次 helloworld, 每次间隔5秒
二、
写一个函数stringconcat, 要求能 var result1 = stringconcat("a", "b") result1 = "a+b" var stringconcatWithPrefix = stringconcat.prefix("hellworld"); var result2 = stringconcatWithPrefix("a", "b") result2 = "hellworld+a+b"
小菜解法
这两道题,考的就是闭包,废话不多说,直接上代码。
/** * 第一题 * @param func * @param times * @param wait * @returns {repeatImpl} */ function repeat (func, times, wait) { //不用匿名函数是为了方便调试 function repeatImpl(){ var handle, _arguments = arguments, i = 0; handle = setInterval(function(){ i = i + 1; //到达指定次数取消定时器 if(i === times){ clearInterval(handle); return; } func.apply(null, _arguments); },wait); } return repeatImpl; } //测试用例 var repeatFun = repeat(alert, 4, 3000); repeatFun("hellworld"); /** * 第二题 * @returns {string} */ function stringconcat(){ var result = []; stringconcat.merge.call(null, result, arguments); return result.join("+"); } stringconcat.prefix = function(){ var _arguments = [], _this = this; _this.merge.call(null, _arguments, arguments); return function(){ var _args = _arguments.slice(0); _this.merge.call(null, _args, arguments); return _this.apply(null, _args); }; }; stringconcat.merge = function(array, arrayLike){ var i = 0; for(i = 0; i < arrayLike.length; i++){ array.push(arrayLike[i]); } } //测试用例 var result1 = stringconcat("a", "b"); //result1 = "a+b" var result3 = stringconcat("c", "d"); //result1 = "a+b" var stringconcatWithPrefix = stringconcat.prefix("hellworld"); var stringconcatWithPrefix1 = stringconcat.prefix("hellworld1"); var result2 = stringconcatWithPrefix("a", "b"); //result2 = "hellworld+a+b" var result4 = stringconcatWithPrefix1("c", "d"); //result2 = "hellworld+a+b" alert(result1); alert(result2); alert(result3); alert(result4);
#在找工作求抱抱# #如何判断面试是否凉了# #找工作中的意难平# #2023届春招# TCP和UDP的区别 C++中多态的使用(期末考试即视感) C++中类和结构体的区别(答得不好) C++空类中有什么函数(满脑子big Five,5个,用的时候都记得,名字真背不全) 数据库没问 项目也没问…… 感觉真不怎么样
1.先来自我介绍吧 2.你说一下面向对象 3.你说一下你面向对象的特性 4.Mysql增删改查语句 5.Linux命令:在普通用户下把一个文件解压复制到根目录下的bin目录 6.git上传代码的流程 7.那你知道哪些排序算法 8.解释下冒泡 9.后端怎么解决跨域的问题 10.介绍前司的项目
1、数据库表里存了酒店坐标(经度、维度),给定一个坐标,推荐最近的十家,如何优化运算速度 2、表设有自增列,insert之后,mysql和oracle怎样获取新插入的数据,有什么差别 ? 3、数据库表里存id、score两个字段, 根据分数高低查出金牌银牌铜牌获得者(金牌银牌铜牌可能有并列情况) 4、拦截器常用来干啥? 5、源代码怎么管理?工作分支、发布分支、测试分支怎么管理?
因为我的简历是开发简历,所以全问的是开发知识。不具有一般性,看面试官。 1. 介绍一下项目,并说一下在你眼中对软件测试的看法? 2. 你为什么要用 Redis?有什么好处? 3. 你提到 session 共享,什么时候用到 session 共享? 4. cookie 知道是什么吗?JWT 呢? 5. 你项目是用什么框架写的? 6. 你项目用了几张表? 7. 模糊查询文章标题中包含 “南京” 的 S
线上面试,先问我是哪里人,是否准备在天津长期发展。 问了一些比较基础的,因为我提到了我在学一些前端,所以前后端都问了。 提到:springboot常用注解,拆箱装箱,js的this对象,vue2数据绑定原理,hashmap的优势,javaweb四大域对象。没怎么问项目。。。 最后就是介绍公司,说是主要负责桥梁隧道工程的项目信息化管理,公司主要JS会用的多一点(那你招java干嘛?) 薪资方面,一天
boss上投的,上海司睿杰建科,回复后第二天直接约面了,很爽快 腾讯会议30分钟,没开视频,都是常规八股 自我介绍,专门问了一下学校(吉尔大学🤣) 介绍一下你比较熟悉的数据结构:我提了一嘴跳表:对比哈希表什么情况下用跳表效果更好? 介绍项目,提问技术难点 go map的底层实现 go slice的底层实现 介绍一下innodb?你是怎么学习的? 通常情况下你会怎么去设计数据库?