写在前面的话
笔者从 17 年的 2 月份开始准备春招,其中遇到不少坑,也意识到自己走过的弯路。故写了这篇文章总结一番,本文适合主动学习的,对自己要学的课程不明确的,对面试有恐惧症的 … 等将来打算从事技术岗位的同学们。
正文开始
为什么要准备校招?社招不一样能够进入大公司吗?对于一些不懂校招这个概念的人来说,经常会问这个问题。同时,大公司的校招薪水一般比工作 2 年经验社招的人还高,为什么企业会给一个没经验的应届毕业生这么高的薪水?理由何在?理清这些问题之前,我们先来看看校招是一个什么概念?
校园招聘是企业直接从学校招聘各类各层次应届毕业生。校招每年时间比较固定,即春季校招(三四月份)和秋季秋招(九到十二月份)。在原则上,春季校招大部分岗位是面向大三与研二(研三毕业)的同学,对这部分的同学提供实习的岗位。少部分企业由于秋招签约率不高或者业务剧增,会针对大四与研三的同学进行补招。
而秋季秋招主要针对大四与研三的同学(这里以每年的九月份来分隔年级),对这部分同学提供的是毕业之后的正职工作。拿到秋招 offer 的同学,如确定入职需与用人单位签署三方协议,以保证双方的利益不受损失。
有校招需求的企业一般是发展规模较为成型的企业,不论是成熟运作的传统企业,或年轻但已然庞大的互联网公司。在较为成熟的企业管理下,分工细致,完善地各种福利补贴制度,以及专业的导师制培养人才的策略,这些因素无疑能带给应届生们更好的成长。
同时,应届生在校空闲时间多,能学的东西更多,工作之后业务繁多能真正挤出来自主学习的时间太少,计算机基础的课程篇幅过多,出来工作之后就没时间、没精力学了。
而这些计算机基础课程却是成为业界大牛的必经之路,没学这种基础知识,很多东西的底层原理我们是没办法摸透的,这也是为什么互联网 BAT 大厂重视计算机基础的一个原因。
如何准备校招?
既然校招这么重要,那我们应该怎么准备校招呢?
要想在校招中取胜,笔者觉得有几个方面是比较重要的:视野 + 专注 + 方法论 + 心态
视野的开阔指对一件事物认知的广度,要对业界有一定的了解,才能明确我们的求知方向;否则一味地蛮干,最后只会南辕北辙。举个例子:对于非一本学校的某些同学来说,可能都不知道校招是怎么一回事,身边的老师也没有跟同学们灌输这些思想,不关注技术社区的同学可能就不知道。导致的后果就是不清楚大厂注重的是哪方面的知识(大厂考察的知识一般来说对技术发展很有意义),水平停滞不前,最后毕业去了家不太理想的公司。
很多东西都是这样,身边的人不可能全部传授给你,需要你带着一份热情不断地去挖掘。我们可以在空闲的时间里,去各种技术社区以及一些问答平台上刷刷动态从而不断地开阔我们的视野,比如说:在知乎平台上我们可以看到某些前辈的回答,一般这种回答都具有建设性意义,有时候抛开一些现成的观念,去接受一些新观念何妨不是一件好事呢?
同时,我们可以在社交平台上结交一些应届生“大佬”,询问他们各种学习方法,一般“大佬”都会很热情的帮助你。混熟了以后,可以跟“大佬”交流下面试心得、学习心得等等的东西,不得不说与同类型的人交流是成长最快的一种方式。
专注是指在技术方面投入的时间成本。我们都不是圣人,只有不断地去学习与训练才能更大程度地去提升自我。当我们对一件事物有热情时,我们都愿意把所有时间花在它上面。就如我们看上了一个漂亮的女生,对她产生好感了,我们会想尽一切办法去讨好她。
在技术方面也是这样的,对于我们不感兴趣的方向我们从不会主动地去学习,保持对技术的热情才能达到持续的产出。有一句话说的好:时间花在哪里,成就就在哪里。A 同学在课后每天都花 8 小时专研技术,而 B 同学每天只在课堂上学习。很明显这两人的差距只会越来越大,放心地去努力吧,付出了肯定会有回报的,回报未到只是时候未到。
专注还指对某一领域的专注程度。我们应该对自己以后想从事的职位有一个大概的方向,从而对这个方向应具备的技能进行钻研。有时候看到部分同学既写前端代码,又写 PHP 后端代码,又写一点硬件底层 C 语言代码,精力太分散了到最后很难做到每样东西都精通。大厂对应届生的要求还不至于做到全栈工程师的程度,能做到熟悉一领域的开发已经很不错了,当然懂的越多是一个加分项(但非必备)。
反观大厂对应届生的要求是熟悉计算机专业的必修课,诸如:数据库原理、操作系统原理、数据结构与算法、计算机网络等,这类知识可能比较枯燥学起来没什么劲,但却是必备的,其能为以后工作发展铺路。当然每个岗位所要求的侧重点不同,但却百变不离其宗。对这种基础知识要学到哪种程度呢?
是不是考试考到 80 分以上就代表这门课掌握得不错呢?不是这样的,考试的考点是有局限性的,我们应该通过看一些巨献读物来全面学习。看完之后我们可以通过看别人的面试经历(后面简称“面经”)来检测自己是否掌握这些知识点。
对于不会的知识点,建议大家可以过一遍书本的内容,书本讲的内容一般比较详细。不建议通过搜索引擎查询这种与理论相关的内容,因为大部分搜出来的结果都是摘抄书本的文字。面试服务端开发时,经常会被问到数据库索引的底层实现原理。很多同学可能会问:“为什么要搞懂这些原理性的东西?我会怎么用不就行了吗?”。只懂使用 API 的人永远是搬运工,工程师最大的使命是去创造,研究原理的时候我们能了解到先人的设计初衷,从而能更快速地在线上出现性能问题的时候根据原理排查问题。
要想达成某个目标都有其特定的方法论,学习技术也不例外,掌握适当的学习方法才能事半功倍。
我们需要形成一个完整的知识体系,强烈建议大家读一些巨献读物,其讲的内容很详细,不会漏掉某些知识点。
读完一章节后建议大家可以做做笔记,坚持读完一本书你会发现受益匪浅,以下是一些巨献读物的推荐:
- JavaScript 高级程序设计(入门前端必读读物)
- 你不知道的 JavaScript 系列(带你探索 JavaScript 的黑魔法)
- JavaScript 设计模式与开发实践(让你的代码锦上添花)
- 图解 HTTP(Web 开发必会)
- 计算机网络(第五版)作者:谢希仁
- 网易云课堂浙大的数据结构课程(推荐,基础视频,每节课的配套题目必须独立完成)
- 大话数据结构(推荐,但是感觉不如浙大的视频讲解)
- 算法 4(推荐,书籍代码是 Java 语言,不影响理解)
- 剑指 offer(看完之后你会发现面试会遇到原题)
- 程序员代码面试指南(作者:左程云,里面讲的比剑指深入一点)
- LeetCode(看完剑指可以进阶算法)
- 数据库概论(基础,重在了解概念)
- MySQL 必知必会
- 高性能 MySQL
在准备面试的时候可以上 牛客网 的讨论区看看面经,了解一下面试可能会被问到的问题,对于不会的问题要查漏补缺。当你看完好几篇面经你会发现面试很多问题都是重复的,也就是说这些问题是必须掌握的。同时,可以不断地向更深的层次学习,比如看看源码的实现等等,这些深层次的东西是面试的加分项。
平时的积累也很重要,做项目或者学习知识点的时候可以把心得分享到博客上,一个好处是可以重新梳理知识点,在这个过程中你会对这些知识点印象更加深刻,同时也会给面试加分,面试官看了你的博客之后可以看出你是一个持续学习的人,这将会加大你面试的通过率。
另个好处是在分享的过程中,可以提升自身的表达能力,毕竟把事情讲清楚与心里懂事情是怎么回事是两码事,这也为之后公司的内部分享会奠定基础。
在准备校招的过程中难免会遇到一些困难,比如:书本的内容看不懂,这时候可以从搜索引擎里搞清楚一些名词的意思,再把这些名词带入书本中反复地去理解。遇到困难的时候要保持一种愈战愈勇的心态,面试的过程也难免会失利,不要气馁。这时候的重点是把面试被问到不会的知识点搞清楚,争取下次被问到的时候能答上来。
关于简历
书写简历也是门学问,优秀的简历能在内推批次脱颖而出直通面试。
- 能缩减的信息尽量缩减,比如一些专业必修课的课程就没有必要写上去
- 个人信息一定要写全,如姓名,电话,邮箱,求职意向(加分项:持续产出的博客与 github)
- 项目介绍用一句话概述,着重点在于技术点的描述,建议用一些显著性的数字注明成果(经过 xxx,性能提高了 30% 等)
- 对于业务型的项目,不要把那些 CURD 的功能写出来(太 low 了千篇一律),这种项目在编码的时候要多思考,看看哪些卓越的技术点可以提炼出来
- 获奖情况方面可以把一些有代表性的比赛及名次写进去,最好不超过 3 个
关于简历投递
简历投递有几个比较重要的阶段:提前批、正式批、补招。建议大家前期要广投各种企业,这能一定几率地增大面试的可能性。面试多了就有了面试的感觉,拿 offer 的几率会更大,后期我们能更好地选择 offer。
无论是春招还是秋招,提前批都会在校招正式开始前的 1~2 个月开始内推,一般互联网大厂都有提前批。提前批一般需要在职人员内推,有师兄师姐在名企可以让其帮忙推荐。没有的话也无需担心,一旦有内推在 牛客网讨论区 总会出现各种信息,把简历投到帖子的邮箱里也可以进行内推。在提前批里只要你的简历通过了筛选就能直通面试了,这就是为什么要提前准备校招。
正式批需要在校园招聘的官网上申请,一般来说会比提前批多一轮线上或线下的笔试,只有笔试过了才能有面试的资格。校招招聘信息可以在 梧桐果 查看,里面还有宣讲会一栏,错过了提前批的同学可以找到符合自己需求的公司的宣讲会时间,某些公司在宣讲会结束后会进行当场的笔试,一般现场笔试通过后,第二天会进行现场的面试。
由于某些“收割机”的弃坑,这时候某些岗位可能还会有几个空缺的名额。招聘的形式与提前批相似,也通过员工内部推荐,简历通过后会进行面试。
关于实习
最后说说找实习的事情,建议大家提前一年准备春招,这样拼进互联网知名大厂(百度、阿里、腾讯、滴滴、美团、京东等等)的可能性很大。实习的工作地点无非太在意,实习最重要的是镀金,有互联网知名大厂的实习经历,在秋招找工作是非常吃香的。
因为实习经历绝大多数情况下决定了你的能力,HR 在筛简历时就会认为你既然能被上一家大厂所认可,你的能力肯定不会差到哪里去,就会让你无需笔试直通面试,这样在秋招提前批拿到 offer 的几率更大!
(注:原创内容,转载请联系获取授权。)
校招面经
以下是我的校招面经:
- 块级元素和行内元素的区别
- 行内块级元素是什么东西?
- HTML 语义化的理解和作用
- 盒子模型
- 元素的水平和垂直居中
- 三栏布局,左右定宽,中间自适应
- JavaScript 的基本数据类型,
0 == null
吗?为什么? - AJAX 实现原理
- 跨域怎么做
- 移动端怎么做优化?动画如何做加速?
- 如何做首屏加速的?
- 移动端适配的 3 种方案
- 单页应用的路由内部原理怎么做的?自己实现过 SPA 吗?
- 了解过 canvas 和 WebGL 吗?
- 如果让你做 IE7 兼容,你怎么做?
- 我们网易游戏要做一个交互性很强的移动端界面,你有什么思路吗?
- 介绍项目,技术难点
- 性能优化
- 图片懒加载怎么做的(getBoundingClientRect)
- 懒加载的滚动如何做优化(函数节流)
- cookie 除了 key 与 value 还有哪些参数
- 做过后端吧?如何判断区分一个用户的身份?
- session 的生成规则?sessionid 的生成规则?
- 介绍项目
- 项目用 REM 布局吧?REM 如何做自适应的?
- 知道哪 5 种设计模式吗?
- Vue 双向绑定的原理
- AMD 是什么?解决什么问题?了解 AMD,CMD,UMD 吗?AMD 与 CMD 的区别?啥叫依赖前置?
- BootStrap 的栅格系统实现原理?
- 什么是原型链
- 三栏布局,左右定宽,中间自适应(说了 5 种)
- 性能优化
- 为什么选择做前端
- 介绍项目
- 为什么要用 Vue 框架?他问有比较其他框架吗?
- 题 1(说递归前要先判断是否是引用类型,是的话直接
return x1 == x2
,个人觉得意义不大)
// 对比两个参数是否相等,diff(1,1) // true diff(1,'1') // false diff({name: 'cvte'},{name:'cvte'}) // true diff({name: 'cvte'},{name:'seewo'}) //false function diff(){}
- 题 2(实现了功能,他说 setTimeout 有延迟,要根据播放器的时间来计算,坑,题目根本没有播放器这个变量)
// 设计一个数据结构来存储 歌词和对应的时间,// 并实现一个 function run,执行 run 之后,在对应的时间输出对应的歌词
- setTimeout 执行机制(eventLoop)
- 接下来将会学习哪方面(我说刷算法,因为算法这东西工作后就学不到了)
- 了解 WEB 安全吗(XSS、CSRF)
- 项目中有针对 WEB 安全做防御吗?
- 最近有面哪些公司?面到哪个阶段了?有其他公司的 offer 吗?
- 毕业后最期望加入哪些企业?为什么?
- 对上班时间的看法
- 说说你家庭的情况?性格,职业,对你的影响
- 说说你未来的人生规划
- 你赚钱是为了什么?
- 说说对你最有影响力的人
- 什么情况下会拒绝 CVTE 的 offer
- 什么情况下会离开 CVTE
- 描述一下你最近觉得比较压抑的事情?你是如何调整自己的状态的
- 对上两面给自己的表现打分,为什么打这个分?你觉得自己哪些地方做的不够好
- 说说你实习的经历。为什么会离开实习那家公司。
- 你期望的毕业入职薪资是多少?为什么?
- 你目前会关注哪些企业?
- 你对工作地点有什么看法?
- 自我介绍
- 项目都用 Vue 是吧,说说 Vue 的 MVVM 如何交互的?
- 知道 Vue 监测变量如何实现的吗?
- VueRouter 用哪些 API 实现的?改变 hash 参数会引起视图的更新吗?
- 说说你项目中实现的 Dialog 组件?提供了哪些 API?如何设计这些 API 的?
- 用过 AJAX 吧?说说 AJAX 是干什么用的?如何实现 AJAX?
- 说说你了解的垃圾回收机制
- 绑定事件有哪几种方式?
addEventListener
有哪些参数?冒泡跟捕获有什么区别? - 来道算法题吧,在一个数组中求连续最大的累加和
- 居中可以使用哪几个属性?不定宽度与定宽度如何居中?
- position 有哪些属性,都是何意思?
- 啥是闭包?用来干嘛的?
- CSS 有了解过如何做动画吗?
animation
有哪些参数? - HTTP 状态码
- HTTP 缓存
- Git 常用操作?
merge
与rebase
有什么区别? - 了解过
linux
吗? - 看你是广东人啊,能接受到京城工作吗?我说,听说你们百度深圳也有研发中心,能帮我调配到深圳吗?他说可以。
- 跨域
- 数据库有哪些引擎
- 数据库如何实现回滚
- HTTP 缓存
- 平时如何学习 Vue 底层原理的
- 说一种你觉得牛逼的设计模式
- 知道 Promise 是用来干嘛的吗?Promise 底层如何实现的?为什么要用
setTimeout
去模拟
- 为什么选前端?
- 介绍一个你觉得做的最好的项目
- 在做项目遇到过什么问题
- 怎么解决 click 300ms 的问题
- fastclick 内部实现
- 1px border 的问题?为什么会产生?怎么解决?还有什么解决方案
- touch 有哪些事件?tap 是原生事件吗?
- HTTP 状态码
- 304 缓存
- eTag 跟哪个字段一起用?
- 闭包的定义与作用
- 闭包会产生什么问题?我说内存泄露,他问还有吗
- 原生 Ajax 的过程
- readyState 有哪几种值,分别代表什么
- es6 如何发异步请求?fetch 与 ajax 有啥区别
- Promise 与 setTimeout 哪个先执行?为什么
- 性能优化方式
- 跨域有哪些方式?window.name 有什么问题?
- Get 与 Post 有啥区别?哪个更快?
- 不定宽高 3 种垂直水平居中。
- 盒子模型
- position 取值,啥是 stickty
- 两个栈实现一个队列
- 快排思想,手写快排
- 数组里有 N 个偶数个相同的数,只有一个奇数个相同的数,找出这个数
- 数组中的项是 1 -100 连续的数,把任意一个数变为 -1,找出这个数
- 有三个柜子,每个抽屉都有两个球,第一个抽屉是 2 个黑球;第二个抽屉是 2 个白球;第三个是 1 个白球和 1 个黑球。求一个抽屉拿到黑球的情况下,另一个球是白球的概率
- 假设一对夫妻生小孩的观念是这样的,如果第一次生到的是男孩,则不继续生了;如果第二次生到的是女孩,继续生到有男孩为止。求世界男女比例
- 什么是原型链
- 看代码说输出结果,并说原因。
var F = function () {} var f = new F() console.log(f.__proto__) console.log(f.__proto__.__proto__) console.log(f.__proto__.__proto__.__proto__)
- 说说有哪些请求方法,越多越好
- GET 与 POST 有啥区别
- 介绍一个你觉得做的最好的项目
- 为什么离开了实习的公司?
- 为什么会投网易游戏的前端
- 实习中各人员怎么分工的
- 对于产品改动需求有遇到过吗?怎么解决这个问题?有收到成效吗?
- 玩过什么游戏?这游戏怎么样的?你玩到哪个程度?充了多少钱?
- 大学真的一点游戏都没玩吗?为什么?
- 介绍一个你觉得最有难度的项目
- 为什么用 Vue 不用其他框架
- 用 Vue 的原因
- 说说 Vue 的优势
- 看过源码是吧?说说你对 Vue 哪种机制最熟悉?并说说其源码实现过程
- 会测试岗位怎么看,如果调剂你到测试岗位,你愿意吗?
- 对其他开发岗位怎么看?
- 你期望年薪是多少?
- 除了前端方向,我们还有大数据和 JAVA 方向,你对哪个有意向?
- Vue2 有哪些新特性?双向绑定如何实现?
- 项目有遇到什么问题?我说 1px border 在 retina 屏幕中会加粗,被打断了
- 设计一个微信服务器与开发者的交互,判断是否有权限操作
- 介绍一个最近做的一个项目
- 做项目的时候遇到过什么问题
- 闭包,如何防止 IE 下的内存泄露
-
undefined
与null
的区别。举个用到undefined
与null
的例子 - 介绍一下 HTTP 协议与 HTTP Ruquest
- HTTP 缓存
- Last-Modified 的时间如何生成的
- GET 与 POST 的区别
- 我说到 POST 会发送两次数据包的时候,反问我,你这个是从哪里看的?确定是官方说的?如果 POST 的数据量很少的时候呢?也会分两次发吗?为什么?
- 我说到 GET 参数暴露到 url 上不安全,而 POST 更安全,他反问你不会装包吗?都能装到包为什么还安全?GET 与 POST 的区别到底在哪里,为何这两者要区分开。如何防止数据被抓包
- 我说到 GET 的传输数据包的体积与 POST 的不同,反问我,你确定 GET 只能传 4K?有什么办法使 GET 能传输与 POST 一样大小的数据包容量?
- HTTP2 有什么新特性?多路复用中,HTTP2 能兼容 HTTP1.1 的请求吗?比如:会请求多个域名服务器,有些请求是 HTTP1 的有些请求是 HTTP2 的?这样子合法吗?
- 性能优化
- 数组去重,说出哈希表法的时间复杂度与空间复杂度。hash 表查找的过程时间复杂度是多少,为什么?
- 如何防止非本地域名脚本的恶性注入?
- 如何防范 CSRF 攻击
- MVC、MVVM 的交互流程
- typeof 有哪些返回值
- 跨域方式
- 继承的 6 种方法
- cookie 与 Web Storge 的区别?如何在 IE 下存储 4M 的数据
- 说输出结果题 1
console.log(typeof ('a' - 1))
- 说输出结果题 2
for (var i = 0;i < 3;i++) {setTimeout(function () {console.log(i++) }, 0) console.log(i) }
- 说输出结果题 3
function bar() { return foo foo = 2 function foo() {} var foo foo = 'string'} console.log(bar())
- restful
- 交换排序与堆排序的时间复杂度是多少
- 1~100000 个连续的数,随机取出两个数。不能用特定的数据结构,不能用数组方法找出这两个数
- 介绍项目
- 介绍 BFPRT 算法
- null 是什么?与 undefined 的区别
- 说出结果,null > 0,null >= 0,null == 0。并说出原因
- 写出匹配 IP 的正则表达式
- 写出观察者模式,如果要删除某个依赖呢
- new 运算符做了什么?写出代码
- new 中的 this 是何时生成的
- 实现一个类
- 实现继承,如何处理重复生成了两个相同的实例属性
- Object.create()内部做了什么?
- 什么是函数?函数为什么可以当参数传递
- 写一个开头不能连续出现 abc 的正则,不区分大小写
- 线程与进程的区别
- 磁盘读取速度为什么比内存读取速度慢
- tcp 三次握手
- DNS 如何找 IP
- HTTP 借用了 TCP 的哪些优点
- HTTP 的 Content-Type 可能取的值?设置哪个值是以 json 的格式去传输
- AJAX 实现过程
- 如何做出五角星并居中
- 使用 Math.random()的点怎样才能等概率地落到等边三角形中
- 实现这样一个功能:
sum(2, 3) // 5 sum(2)(3) // 5
- 0.068 如何转化成 6.8%,这其中有什么坑?要怎么处理?
- 说说 JavaScript 的数据类型
- 如何判断是否是 Array
- 如何判断是 NaN
- 如何实现一个手表,如果是实现一个计秒器呢?
- setTimeout 发生在什么时刻,如何避免延迟?
- 说说项目的难点以及遇到的问题
- 说说 v -model 的实现原理
- 如何实现 v -model 的单向绑定
- 如何实现跨组件的通信,比如点击一个按钮,要使另一个组件中背景色改变
- 如何实现跨页面的通信,需求同上
- 如何实现跨域页面的通信,需求同上
- 如何实现跨 iframe 且跨域页面的通信?
- 字符串反转不能用辅助 API
- 两个有序数组合并成一个有序数组
- 两个无序数组合并成一个有序数组的两种方式,并说说这两种方式最优的时间复杂度是多少,过程是如何求出来的?
- http 构成
- https 原理
- 为啥要用非对称加密
- 客户端是如何验证证书的合法性的?
- 浏览器如何渲染界面
- 什么是 reflow 与 repaint?哪个性能消耗大
- 如何避免 reflow?
- 看《JavaScript 高级程序设计》的时候觉得哪块最难理解?讲一下
- 讲解你项目中遇到的难点?
- 你博客主要写什么内容?发个地址来看看
- 对什么排序熟悉?我说快排。那来道非递归的快排吧
- 看你博客写了 TCP 的内容,说说 TCP 与 UDP 的区别
- TCP 如何实现拥塞控制的?一发生网络堵塞,为什么把拥塞窗口重新设置为 1。设置为 1,这个发送流量不是很小了吗,这不是前后矛盾了吗?
- 智力题:有 N 个物品,其中有一个是很轻的,有一个天平,用最少的次数找出这个轻的物品
- 说说原型
- 以下代码中
F
与f
与F.prototype
与它们之间是什么关系
function F() {} var f = new F()
-
f.constuctor
是什么?f
自身存在constuctor
吗?为什么? - JavaScript 如何实现继承
- 继承之后的
child.constuctor
是什么值 -
console.log(f.prototype)
的结果是什么 - 两个升序的数组,判断一个数组中是否包含另一个数组的所有项?还有更优的解决方案吗?原来的时间复杂度是多少,现在的复杂度是多少?
- 以下代码怎么输出?为什么会这样?如何改善?setTimeout 为什么在最后输出?
for (var i = 0; i < 3; i++) setTimeout(function () {console.log(i) }, 0)
- 说说 HTTP 缓存
- 浏览器怎么判断是否是强缓存过期,整个过程是怎么样的?协商缓存具体整个过程?
- 返回 200 状态码后,还会重新发送一次请求来获取文件吗?
- Web 安全
- TCP 与 UDP 有什么区别?
- HTTP 与 HTTPS 有啥区别?HTTPS 握手过程?HTTPS 都是怎么加密的?具体点哪里对称加密哪里非对称加密
- 状态码 301 与 302 有啥区别?
- 说说 cookie 与 session
- cookie 与离线存储的区别
- 求第 n 大的数?时间复杂度多少?
- 雅虎的 N 条军规你知道吗?
- 什么是跨域?怎么解决跨域问题?
-
为什么要把资源文件放在另一个服务器中?除了服务器压力的问题呢?还有没有其他?
- 实现对 cookie 的分离,像淘宝 cookie 很多,把资源文件放在另一个域名中,可以减少主服务器的 cookie
- 优化下载,HTTP 协议对同一个域名的下载线程数有限制
- 实现了动静分离。当多个域名引入同一个静态资源时可以统一引用静态资源服务器
- 如何破解验证码?
- 有一堆猴子与一堆桃子,若这些猴子每人分 3 个桃子,最后剩下 59 个桃子。若每人分 5 个桃子,最后一个猴子分到 <5 个桃子,求有多少个猴子与桃子
- 服务器突然很卡你会怎么排查?如果看日志看不出问题呢?如果看内存看不出问题呢
-
怎么设计分页接口的参数?若以 id 为自增唯一索引,有什么缺陷?那用什么当唯一索引比较好?
- 使用 uuid 生成唯一值做索引
- 一个 Room 类里面有 Door,一个 User 类,只有主人才能开这个 door。问这个开 door 的函数是放在 Room 类?还是放在 User 类?
- C 语言结构体题,补空写程序
- 有什么爱好?
- 形容下自己的性格
- 说说你对富途的了解
- 有哪些 offer?拒了哪些 offer?他们薪资是多少?
- 说出输入
function fn() { return function () {return inner var inner = 3 inner = 'a' function inner() {}} }
- 写出
Function.prototype.bind
的 polyfill - 输出
z-index
属性的元素排布,层叠上下文,还有什么属性可以使z-index
生效 - 有四个接口
/a
,/b
,/c
,/d
。找出一个相应时间最快的接口,并返回这个时间 - 写个弹窗组件,有 title,body,cancelText,confirmText 参数。可以通过 on 来绑定回调,与及通过 off 解绑。
var dialog = new Dialog() dialog.on('show', function () {console.log('showing') }) dialog.on('hide', function () {console.log('hideing') }) dialog.show() // showing dialog.hide() // hideing
- 两栏布局一边定宽一边自适应的多种方法
- 介绍 BFC
- 如何解决跨域问题
- 服务器如何监测是否跨域
- 我不想每次进来都重新加载这个文件,有什么办法
- Vue 父子组件如何通信,跨级组件呢,不用 Vuex 呢?
- 如何与后端协作?在后端没有做出接口的时候,怎么套数据?在线上有接口的时候,怎么套数据?
- 聊了 1 个半钟与技术项目相关的宏观问题
- 如何实现微信电脑端登录的功能?
- 一个猴子,一共有 100 根香蕉,每次最多能拿 50 根,回家有 50m,每走 1m 需要消耗 1 根香蕉。问最多带多少根香蕉回家?
原文链接:https://www.cnblogs.com/10manongit/p/13040722.html