有幸得到猎头推荐参加字节跳动工程效率部的前端面试,为此准备了一周的时间,面试前内心十分忐忑,略微有些小紧张。

由于是下午面试,所以早早起床,翻出许多年前购买的,几近翻烂的《JavaScript设计模式》,从前到后粗略的翻看了下。之后起床刷牙、洗澡、整理下,躺在床上开始闭目养神~

由于是下午两点面试,所以中午12点半从家里出门,担心天气太热,为防止面试时身上有汗水和味道,所以,我决定,打车去面试,这也是我唯一一次打车去面试,不心疼。

结果低估了司机师傅的开车速度,竟然不到20分钟就给我送到了地方,没办法,在字节大楼外转了一圈,13:30入场,前台妹子随机抽了一份面试题给我,开始答题。

两张面试题,给了十多张A4纸给我答题,嗯,有钱,答题笔柔软,有弹性、出水均匀流畅,高级货!

先笔试

  1. 利用html css 编写样式,div垂直body居中、div内的text垂直居中,div高度等于body宽度的一半(第一题就难住我了,充分暴露了我css功底极差的问题,跪,但终究还是写了点)
  2. 第二题判断if([] == false) {} , if({} == false) {} , if([]) {} 不会,跪 (最后一面小哥给我讲下,人不错,good)
  3. 利用宏任务,微任务的知识点判断程序输出(easy ok)
  4. bind函数实现(ok)
  5. trottle函数实现(ok, 可以用任务队列也可以只维护一个function, 我用的队列)
  6. 给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况(ok, leetcode 40 变种, 数字不得重复使用)

以上大概用了三十分钟,之后开始一面

一面

来的是个小哥,年纪比较小,无形中给我一种挫败感,看题速度极快,之后继续出题:

  1. 二叉树路径总和(leetcode 112)
  2. function request(urls, maxNumber, callback) 要求编写函数实现,根据urls数组内的url地址进行并发网络请求,最大并发数maxNumber,当所有请求完毕后调用callback函数(已知请求网络的方法可以使用fetch api)

写代码不怕,最短时间给出程序,相互讨论下,至此一面结束,赞

二面

问:介绍下项目前端架构、项目难点

答:简单介绍下,面试官很感兴趣,讲了大概有三十分钟

问:react如何进行性能优化

答:function component + redux、immutable、pure component , shouldComponentUpdate ...

问:https握手机制

答:不太懂

问:CDN原理

答:cache、负载均衡、资源同步

问:CDN获取最近节点资源的算法是什么

答:不懂

问:requestAnimationFrame 和setTimeout 、setInterval的关系

答:都可以用作动画 requestAnimationFrame还可以埋点监测应用卡顿

问:react fiber 了解多少

答:Vritual DOM & FiberNode 利用调度器分批次在不同的tick内渲染 (答的不好)

问:你以前做过性能优化方面的开发,介绍下

答:通过探针抓取performance数据,判断资源请求、白屏、首屏时间、页面卡顿,以及编写代码抓取页面错误、慢加载、代理用户事件进行行为分析等等。

问:sum(100, 200)(300)(...)...(...)() curring化实现

答:写代码,简单

等等还有很多,知识点非常全面,充分暴露了我这个老码农只会搬砖,网络知识一窍不通、框架深度不够的弱点。

二面结束已经5点,面试官说回头HR会有安排(100%没戏了)

整体看,笔试题偏向基础,不难,只要工作中活学活用lodash,通过笔试没问题

但非笔试部分比较难,考察面试者的表达能力,能否通过简单的描述让面试官了解你的工作,以及工作中遇到的问题等等。

码农不仅要会写代码,在框架、网络、算法上也应该深入学习。

总体收获颇丰,虽然面试第二天就收到了拒信,但并不意外,这点字节HR做的不错。

面试失败肯定是能力不足,这点没有任何疑问。

今后仍要继续努力!

前端笔试能查吗_老码农的字节跳动前端面试总结相关推荐

  1. 前端笔试能查吗_鹅厂微博前端实习面经

    面(4.16 下午,电话,40 min) 通知说 4 月 16 号下午的电面,上午面试官还专门打电话来问下午的时间是否合适,感觉人很不错. 下午面试官准时打来电话,是个很 hice 的小哥哥,广州 W ...

  2. 敲代码括号技巧_老码农的「锦囊」:10个编程技巧、5个纠错步骤,让你的编程之路少点坎坷...

    善始者实繁,克终者盖寡,这句话用来学习编程的过程也很合适.在成为顶尖选手之前,总会遇到很多困难,甚至想放弃.本文作者 Jeff Hale 是 Medium 社区中非常有名的人工智能和技术领域的专栏作家 ...

  3. python培训内幕_刚刚,Python 内幕被爆出!老码农:没控制住,心态已崩!

    作为一名老码农,我的心这次凉透了! 事情起因很简单:前天我晚上正在全国最大的同性组织某 Hub 上浏览时候,发现这样的一条信息: Python 超过 C++.JS 薪酬排行第一 (最大招聘网站 Ind ...

  4. 老码农冒死揭开行业黑幕:如何编写无法维护的代码

    [程序员的那些事 注]:这是一篇非常经典的文章,我们以前发过多次.虽然部分内容是针对 Java 语言,但其他部分对所有编程语言都有参考意义.今天重新推荐给新读者朋友,老朋友也值得重温. 编译:我们专栏 ...

  5. 现身说法:37岁老码农找工作

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 前几天突然接到dk的电话,要和我聊聊天. 他说他们部门调整,虽然最后他留了下来,但还是非常焦虑.人 ...

  6. 老码农揭开行业黑幕:如何编写无法维护的代码

    作者 | 老码农的自留地 来源 | 程序员的那些事 如何编写无法维护的代码 让自己稳拿铁饭碗 简介 永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能.-- 拿破仑 为了造 ...

  7. 老码农:如何写出让自己满意的代码

    今天有位朋友在微博上问我这样一个问题: "@老码农的自留地 ,最近出于学习目的写一个管理系统,越到后边,越觉得自己前边的代码写得烂.前辈,我想让代码写得更好一点,能不能谈谈你的经验,给我指点 ...

  8. 转载老码农教你学英语

    作者微博:@老码农的自留地 对于咱们这些高端大气.时刻需要和国际接轨的码农,英语的重要性自然是毋庸置疑的.尤其是那些胸怀大志,想在码农行业闯出一片天地,成为秒杀身边小弟们的潜在大牛们,熟练掌握英语更是 ...

  9. 老码农教你学英语(学习素材)

    对于咱们这些高端大气.时刻需要和国际接轨的码农,英语的重要性自然是毋庸置疑的.尤其是那些胸怀大志的潜在大牛们,想在码农行业闯出一片天地,秒杀身边的小弟们,熟练掌握英语更是实现其目标最关键的因素之一.否 ...

最新文章

  1. powerDesigner 正向工程生成sql注释问题 (mysql注释问题)
  2. 从无到有算法养成篇:一文读懂有关Tree的前世今生
  3. Nginx下Go的多种使用方式性能比较
  4. SAP官方社区上提供的一些下载资源
  5. 漫谈单体架构与微服务架构(上):单体架构
  6. java mod函数的使用方法_java 数学计算的具体使用
  7. java netty和dubbo_Dubbo与Netty杂谈
  8. android 默认dimens_Android开发——自动生成Android屏幕适配的dimens.xml文件
  9. docker入门与部署微服务--学习笔记
  10. 冯乐乐之二 shader的数学
  11. js:获取年龄的函数
  12. 对promise、resolve和reject的简单理解
  13. NAACL 2018 ACCEPTED PAPER
  14. EurekaServer这几个错误 你可以这样解决
  15. word怎么删除空白页,Word Mac删除空白页面的图文方法
  16. antd表格显示分页怎么取消_react + Ant Design 实现table表格分页和删除
  17. jQuery幻灯片带缩略图平移滑动焦点图
  18. win7 64位安装数据库mysql及mysql下载地址亲测可用20181208
  19. 野火i.MX6ULL Linux开发板资料
  20. android、ios配置scheme之后,react-native如何获取url,并且自动跳转到首页

热门文章

  1. linux安装字体时找不到mkfontscale、mkfontdir
  2. CNN几种经典模型比较
  3. Android 软键盘的全面解析,让你不再怕控件被遮盖
  4. Quartz实现定时任务实例
  5. @ModelAttribute运用详解
  6. 多线程相互排斥--mutex(二)
  7. 【JAVASCRIPT】处理剪切板
  8. C#,JAVA各版本之Thread.join()详解
  9. ospf与辅助接口实验
  10. 信号量 读者写者问题