富途证券的面试题
<!-- more -->
一面(1)
-7 按位取反

[].map(parseInt)输出结果
typeof(typeof Symbol(2))
隐式转换
写 8 个请求头,8 个响应头
http2 的新特性
es6 的新特性
写三中继承方法
向 body 里面插进 1000 个 li,1 秒后倒序
手写防抖节流
长列表优化
判断一个值里头是否含有 7 或者是 7 的倍数
如何在别人的页面中嵌入一个可视化的工具,该工具可以去做一下抓包或者爬虫的工作
一面(2)
请至少使用两种纯 css 方式实现左边固定,邮编自适应的布局,并简述不同方式的优缺点
用递归的方式实现 fibonacci 函数,输入数字,输出斐波那切数列第 n 项数字,并给该函数加入缓存功能
| 出入 | 输出 |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | 5 |
| 6 | 8 |
注:斐波那切数列是指第 0 项为 0,第一项为 1,第 n 项(n>1) = 第 n-2 项+第 n-1 项的数列
有如下表单需要提交到后台,前端表单如何编写,提交的数据结构是什么样的?(不考虑央视,排版)至少给出两种方案并比较优缺点

给定一个字符串 str,只会出现{}()[]这 6 种字符,请实现一个函数 isMatch(str)判断这个学符串中的括号是否是匹配的
例如以下字符串均为括号匹配的:
js
(){()[{}]}
()({})
{()}[]{()}
[{{[()]}}]浏览器加载网页的主要步骤包括哪些?如何针对这些步骤进行性能优化?
一面(3)
三栏布局的实现方式
斐波那契数列(带缓存)编码
判断一堆括号是否形成正确闭环(栈)4 请求发起到结束的详细过程 e
全过程中可以优化的地方
一面(4)
appjsbridge 的实现原理
埋点收集的原理
如果让你将一些错误信息都收集,你怎么做?
讲讲跨域问题?为什么要有同源策略?有什么解决跨域问题
讲讲浏览器的安全问题?
csrf 的原理是什么?怎么防御?
xss 攻击原理是什么?怎么防御?
sql 注入怎么避免
token 鉴权是怎么做的?如果是集群部署,那么怎么解决 token 不一致问题
如果要检测自己本身是否在 iframe 下,怎么检测?
说一下缓存?
说一下什么情况下 this 不会指向 window
严格模式下有什么限制?
instanceOf 怎么实现的?
怎么判断一个对象是数组?
笔试题
实现斐波那契数列的缓存?
ab 两个有序数组,a 长度下雨等于 b,怎么判断 a 是不是 b 的子集?
this 的指向?
prototype 的指向?
二面
业务相关的题,给定一个订单数量梯度区间列表,不同区间的订单单价不同,计算总价
A 红油漆里面舀了一瓢到 B 蓝油漆,混合均匀后又舀一瓢回去,理想情况下瓢不沾多余的油漆,问 A 中 蓝红比例和 B 中的红蓝比例的大小情况是怎样的?
给一个数组,不用数组原型提供的操作方法,将数组中所有的 0 移到数组末尾,其它部分相对位置保持不变
一堆桃子,每个猴子分 3 个则剩下 59 个,每个 5 个则有一只猴子手上的不足 5 个桃,问猴子和桃子各多少
俩有序递增数组,找出其中公共的数字
一个一元二次方程的题
就一个人有 240 公斤水。每次可携带 80 公斤,然后你去到十公里的地方,卖的水就是十块钱一公斤,每一公里会消耗一公斤的水,然后你最后要安全返回原地,就是最多能够挣多少钱
解析 url 的,需要考虑到各种细节
给一个数组,不用数组原型提供的操作方法,将数组中所有的 0 移到数组末尾,其它部分相对位置保持不变这个题他要求最低复杂度普通解法不行
就对算法要求很高,不是解出来就行,需要最低复杂度+考虑到所有细节
去除字符串多余空格
计算总价,价格是分档位的
逻辑题 1:有十瓶药,每瓶里都装有 100 片药,其中有九瓶里的药每片重 10 克,另有一瓶里的药每片重 9 克。用一个精确的电子秤(可以称出物体是多少克),总共只能称一次,如何找出份量较轻的那个药瓶?提示:药片可以从瓶子里拿出来
语言 1:现在要实现一个聊天室列表的逻辑,用户在客户端会看到有很多的聊天室房间,每个房间可以设置若干个主人,只有房间的主人才能点击“进入房间”按钮进入对应的房间。假设用 Room 和 User 两个类表示房间和用户。请问,进入房间的方法 open(你会放到 Room 类还是 User 类中实现,为什么
js
Room
//门的状态
state= lopened, closed) set_state(state)
this.state = state
//****第1种实现******
User owmerlist//房间主人列表 open(user)
if user in owmer_list
this.set_state(opened)
Uesr
//****第2种实现******
Room my_rooms //用户拥有的房间列表 open(room)
if room in my_rooms
room.set state(opened)最后一题
