前言
最近在拉勾上投了位元組跳動的前端工程師崗位,也沒指望位元組跳動能夠看上我,不料剛投完簡歷4個小時
位元組跳動的HR小哥哥就給我打了電話,讓我參加線上筆試,
做了一下筆試題,覺得還是有一定難度的,接下來給大家看一下面試題,希望可以幫助到大家
面試題1
把下面的純文整理為3行4列
aaaa "dd" f g;fd分
1 "2dd" 113 512
q 'w' er, -/ g
整理結果如下

面試題2
闡述一下對原碼/反碼/補碼的理解,相互之間的轉換方法
這個題比較考驗內力(基本功)
面試題3
日常資訊流開發程序中,經常需要顯示文章發表的時間與當前時間的關系狀態,
比如:剛剛、1分鐘之前、一個小時之前等,要求實作-一個函式,輸入為一個日期時間戳日期,
輸出為輸入日期與當前時間的關系:1分鐘(59秒)以內顯示剛剛
其他顯示XXX前,比如: 1分鐘前、2小時前、!一天前
能夠實作該函式后,讓其稍加改造,如:輸入日期與當前時間相差超過2天就顯示該日期等
我覺得我答的有問題,無所謂了就當是長經驗了
面試題4
請實作一個觀察者模式,擁有四個方法on, of, once和trigger
const Event = {
on() {} //系結
off() {} //解綁
once() {} //系結一次trigger() {} //觸發事件
}
function echo(msg) { console.log(msg);
var. event= new Event();
event.on('test', echo);
event.trigger('test', 123); //輸出123
event.off('test', echo); //洗掉某個事件回呼event.off('test'); //洗掉所有事件回呼
event.once('test', echo);//只觸發一次
這個題有點超綱觸及到我的知識盲區了
面試題5
分別使用正則和非正則實作1234567890.12格式化為:1,234,567,890.12,
面試題6
請寫出程式運行結果
var x = 1;
var bar = function(param) {
console.log(this.x)
};
var obj1 = {
x: 1
};
var obj2 = {
x: 2
};
var obj3 = {
x: 3
};
var func = bar.bind(obj1);
func();//1
func = bar.bind(obj1).bind(obj2);
func();//1
func = bar.bind(obj1).bind(obj2).bind(obj3);
func();//1
面試題7
題目描述
頁面中有個table,然后里面有很多項,這個table的資料是異步加載進來,然后渲染出來的,想要實作點擊td就輸出td標簽內的內容,
個人答案:使用事件委托,給table添加點擊事件,讓td執行,拿到event.target.innerHTML
其實我忽略了table的資料是異步加載出來的,
應該寫異步事件 當table全部加載完成后給table再添加點擊事件 這個處理邏輯是沒錯的
面試題8
這題關于CSS的
完成以下布局,盡可能列出你能想到的方案,頁面解構包括頁頭,主體內容,頁腳
當主體內容高度超過瀏覽器視窗時,頁腳隱藏,
當主體內容高度不能填充瀏覽器視窗時 頁腳需停留在頁面底部

謝謝大家觀看
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/96753.html
標籤:AI
