目錄
1 職位描述
面試官要求 " >面試官要求
朋友" >朋友
解題思路(主要考察如知識點:)" >解題思路(主要考察如知識點:)
3.2 面试题二" >3.2 面试题二
面试官提示" >面试官提示
解题思路" >解题思路
3.3 面试题三" >3.3 面试题三
3.4 面试题四" >3.4 面试题四
3.5 面试题五" >3.5 面试题五
首頁 常見問題 決定你是否能進字節的幾題

決定你是否能進字節的幾題

Aug 25, 2023 pm 03:48 PM
面試題

1 職位描述

  • #負責位元組跳動業務線(包括頭條新聞、抖音、火山等)安全系統及產品的設計與開發
  • 完善平台內自動化工具的安全能力
  • 負責頭條、抖音、火山等產品的通用安全模組、組件的設計與開發

2 職位要求

  1. 本科及以上學歷
  2. #熟練Linux/Mac/Windows 平台的各種開發技能
  3. #精通一種或幾種以下語言,Java/Python / Go / C 等等
  4. 熟悉常用演算法和資料結構,熟悉網路程式設計、多執行緒程式設計技術
  5. #善於學習和運用新知識,具有良好的分析和解決問題能力
  6. 具有良好的團隊合作精神和積極主動的溝通意識

加分項

  1. 有安全產品開發背景優先
  2. #比較了解安全開發、安全測試、漏洞偵測等安全知識

#3 面試面試官在簡單確認候選人姓名並詢問侯獲選人目前工作地點之後,說你應該了解位元組的面試流程吧?

朋友由於之前沒參加過字節的面試,一臉懵逼,問道請問流程是怎樣的,我是第一次參加字節的面試

。 ######

面試官答案 先做幾題演算法。看你履歷上說有刷不少力扣題,那就先寫一道簡單題作為開胃菜吧#。

接著面試官開始出題了。

朋友(之前聽過位元組的演算法題不容易)心裡默想 What's the fuck, 你的簡單題不會特別難吧?

3.1 程式設計題一

#
请写一个函数:string ConvertNum(string src, int src_base, int dst_base)

测试用例:
ConvertNum("FF", 16, 10) = "255"
ConvertNum("077", 8, 10) = "63"
ConvertNum("10", 16, 10) = "16"

假设:
参数:src_base/dst_base = 2, 8, 10, 16 src >= "0"
假设没有任何前缀;
假设参数都正确;
假设参数都是非负数
登入後複製

面試官要求

20 分鐘內完成,越快越好,要求通過所有測試案例,程式碼盡可能簡潔。

朋友

#好久沒刷這種題了,看到題子之後, 沒思考清楚一頓操作猛如虎,導致在不少細節出了問題。

解題思路(主要考察如知識點:)

#1、字串轉換成整數數函數atoi 的實作;

2、進位之間的轉換;

3、整數轉換為字串函數itoa 的實作。

一道看似簡單的基礎題,考察的東西還不少,需要採用「分治」的想法#。

朋友對面試官說 一般刷 leetcode,突然寫這種題很不適應。

面試官答道 那就看一道力扣的類似題。

面試官開始出題。

3.2 面试题二

C++
typedef struct LinkListNode {
  int value;
  struct LinkListNode* left;
  struct LinkListNode* right;
} LN, *PLN;

bool IsBranch(PLN root, int *nodes, int length)
   1
  / \
 2   3
    / \
   4   5
      / \
     6   7
     
1 T
0 F
2, 3 F
1, 2, 3 T
1, 3, 5, 6 T
6, 5, 3, 1 T
登入後複製

面试官提示

面试官出完题之后,笑了笑说提示一下哈,本题可以找规律

朋友

做了一段时间之后,大部分写出来了,但是还是有些细节没考虑好。

解题思路

将这颗树看成一个族谱,如果输入的是一颗子树的话,必须要有父亲节点,比如 1, 3, 6,由于 6 没有父亲节点,所以输出肯定是 F;如果只有兄弟节点的话,同样输出也是 F。

面试官问 你刷题的时候,最擅长刷哪种类型的题目,数组 or 链表 or 二叉树 or 排序 or...?

朋友一想,最近自己刷 链表 的题目比较多,递归、迭代以及增加虚拟头节点等等解法都掌握了,而且听了慕课网 liuyubobo 老师的算法课中的链表部分,于是自豪地说 链表

面试官说 那就看看链表的算法题吧

朋友露出笑容问道 面试官,你不会出一道 hard 的链表题吧?

面试官哈哈大笑,答道 我还是有节操的,不会坑你的,不过如果你通过了这一面,下一面的算法题估计比较难

说完面试官出题了。

3.3 面试题三

给定一个单链表,在链表中把 L 个节点到 R 个节点这一部分进行反转。

示例1:
输入
[1, 2, 3, 4, 5]  1, 3
输出
{3, 2, 1, 4, 5}
登入後複製

朋友一看,面露喜色,这么简单的,而且这不跟力扣中某道题类似嘛?

面试官好像看出来啥了,笑着问 你如果做过这道题的话,你就说做过,我再给你换道题

朋友答道 确实做过,哈哈。

面试官开始换题(出题)。

3.4 面试题四

将一个链表 m 位置到 n 位置之间的区间反转,要求时间复杂度,空间复杂度。

例如:
给出的链表为 1->2->3->4->5->NULL,返回 1->4->3->2->5->NULL.

注意:
给出的满足一下条件:
1 ≤ m ≤ n ≤ 链表长度。
登入後複製


朋友一看,笑了,心想这不就是 leetcode 92. 反转链表 II 的原题嘛?于是乎很诚实地跟面试官说 这题我做过

面试官面露微笑,说 继续换题,不过不用担心,我不坑你,做一道合并两个排序链表的题

朋友听到 合并两个排序数组心中一顿窃喜,这不还是 leetcode 原题嘛?

3.5 面试题五

合并排序数组
typedef struct LinkListNode {
  int value;
  struct LinkListNode *next;
}LN, *PLN;

示例:
listA 升序(1, 3, 5, 7, 9)
listB 降序(8, 6, 4, 2, 0)
返回:升序(0, 9)
PLN mergeLinkList(PLN listA, PLN listB)
登入後複製

面试官果真不坑人,笑着说我提示一下哈 为了简单一点,这道题你可以不用考虑这两个链表中有相同值得节点

朋友一想,这不简单嘛,力扣中已经刷过原题(合并两个已升序排列的链表),这道题只需要 把链表 B 反转一下,这是链表 B 就有序了,这样不就跟力扣的原题完全一毛一样了嘛,心中一顿窃喜,于是刷刷刷地写完了。

面试官看了看,说 如果链表 B 中的最后一个节点的值都大于链表 A 的最后一个节点的值呢?如果链表 B 中的第一个节点的值都小于链表 A 的第一个节点的值呢

朋友想了想,好像也是,还要考虑 链表 B 中每个节点的值放到链表 A 中的什么位置,这还得遍历整个链表 B 和 链表 A,并跟面试官说了。

面试官说这就是本题的难点

解题思路

考虑几种特殊情况。

1、链表 A 和链表 B 都为空,直接返回即可。

2、链表 A 不为空,链表 B 为空,直接返回链表 A。

3、链表 A 为空,链表 B 不为空,翻转链表 B 并返回翻转后的链表 B。

4、鍊錶A 和鍊錶B 都不為空,遍歷鍊錶A 和鍊錶B 並將鍊錶B 中的節點(從後往前)向鍊錶A 插入,並記錄插入位置。

面試官笑著說 這題其實是欺負你們這種已經工作了的,那些學生有時間,每天可以刷題,刷得很熟練。

總結

#這次面試,「分治思想」考得比較多,一道程式設計題,往往可以分成幾道簡單的小的程式題,只有這些小的程式設計題能AC 之後,才能把它們組合成大的題AC 。

以上是決定你是否能進字節的幾題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

五個常見的Go語言面試問題及解答 五個常見的Go語言面試問題及解答 Jun 01, 2023 pm 08:10 PM

作為近年來備受熱捧的程式語言,Go語言已成為許多公司與企業的面試熱點。對於Go語言初學者而言,在面試過程中遇到相關問題時,如何回答是一個值得探討的問題。以下列舉五個常見的Go語言面試題目及解答,供初學者參考。請介紹一下Go語言的垃圾回收機制是如何運作的? Go語言的垃圾回收機制是基於標記-清除演算法和三色標記演算法。當Go程式中的記憶體空間不夠用時,Go垃圾回收器

2023年前端React面試題大總結(收藏) 2023年前端React面試題大總結(收藏) Aug 04, 2020 pm 05:33 PM

php中文網作為知名程式設計學習網站,為您整理了一些React面試題,幫助前端開發人員準備和清除React面試障礙。

2023年精選Web前端面試題大全及答案(收藏) 2023年精選Web前端面試題大全及答案(收藏) Apr 08, 2021 am 10:11 AM

本篇文章為大家總結一些值得收藏的精選Web前端面試題(附答案)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

50個你必須掌握的Angular面試題(收藏) 50個你必須掌握的Angular面試題(收藏) Jul 23, 2021 am 10:12 AM

這篇文章跟大家分享50個必須掌握的Angular面試題,會從初學者-中級-高級三個部分來解析這50個面試題,帶大家吃透它們!

面試官:你對高並發了解多少?我:emmm... 面試官:你對高並發了解多少?我:emmm... Jul 26, 2023 pm 04:07 PM

高並發,幾乎是每個程式設計師都想擁有的經驗。原因很簡單:隨著流量變大,會遇到各種各樣的技術問題,例如介面響應逾時、CPU load升高、GC頻繁、死鎖、大數據量儲存等等,這些問題能推動我們在技術深度上不斷精進。

看看這些前端面試題,帶你搞定高頻知識點(四) 看看這些前端面試題,帶你搞定高頻知識點(四) Feb 20, 2023 pm 07:19 PM

每天10題,100天后,搞定所有前端面試的高頻知識點,加油! ! ! ,在看文章的同時,希望不要直接看答案,先思考一下自己會不會,如果會,自己的答案是什麼?想過之後再與答案比對,是不是會好一點,當然如果你有比我更好的答案,歡迎留言區留言,一起探討技術之美。

2023年vue高頻面試題分享(附答案分析) 2023年vue高頻面試題分享(附答案分析) Aug 01, 2022 pm 08:08 PM

本篇文章為大家總結一些值得收藏的2023年精選vue高頻面試題(附答案)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

看看這些前端面試題,帶你搞定高頻知識點(五) 看看這些前端面試題,帶你搞定高頻知識點(五) Feb 23, 2023 pm 07:23 PM

每天10題,100天后,搞定所有前端面試的高頻知識點,加油! ! ! ,在看文章的同時,希望不要直接看答案,先思考一下自己會不會,如果會,自己的答案是什麼?想過之後再與答案比對,是不是會好一點,當然如果你有比我更好的答案,歡迎留言區留言,一起探討技術之美。