Several questions to determine whether you can enter Byte
Aug 25, 2023 pm 03:48 PM1 Job Description
Responsible for the security systems and products of Bytedance’s business line (including Toutiao, Douyin, Huoshan, etc.) Design and development Improving the security capabilities of automated tools within the platform Responsible for the general security modules of Toutiao, Douyin, Huoshan and other products, Design and development of components
2 Job requirements
Bachelor degree or above Proficient in various development skills on Linux/Mac/Windows platforms -
Proficient in one or more of the following languages, Java/Python/Go/C, etc. Familiar with commonly used algorithms and data structures, familiar with network programming and multi-thread programming technology Good at learning and applying new knowledge, with good analysis and problem solving skills Ability Have good teamwork spirit and proactive communication awareness
Extra points
Have a background in security product development is preferred Have a good understanding of security development, security testing, vulnerability detection and other security knowledge
3 Interview
The interviewer briefly confirms the candidate’s name at and asks the candidate’s current place of employment After that, he saidYou should understand Byte’s interview process, right?
My friend was confused because he had never participated in Byte's interview before, and askedWhat is the process? This is my first time to participate in Byte. Interview.
The interviewer replied First do a few algorithm questions. Seeing that your resume says you have done a lot of hard-hitting questions, then write a simple question first as an appetizer.
Then the interviewer started to ask questions.
My friend (who has heard that the byte algorithm question is not easy before) thought to himself What's the fuck, your simple question won't be particularly difficult, right?
3.1 Programming Question 1
請寫一個函數(shù):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" 假設(shè): 參數(shù):src_base/dst_base = 2, 8, 10, 16 src >= "0" 假設(shè)沒有任何前綴; 假設(shè)參數(shù)都正確; 假設(shè)參數(shù)都是非負數(shù)
Interviewer Requirements
Complete within 20 minutes, the sooner the better, it is required to pass all test cases and the code is as concise as possible.
Friend
I haven’t answered this kind of question for a long time. After seeing the question, I didn’t think clearly,The operation was as fierce as a tiger, which resulted in many details being missed. question.
Problem-solving ideas (mainly examine knowledge points:)
1. Convert strings to integers Implementation of function atoi;
2. Conversion between hexadecimal systems;
3. Implementation of function itoa for converting integers into strings.
A seemingly simple basic question examines a lot of things, and it requires to adopt the idea of ??"divide and conquer" .
My friend told the interviewer that I usually brush leetcode, but suddenly I feel uncomfortable writing this kind of question.
The interviewer replied Let’s look at a similar question that is very difficult to answer.
The interviewer began to ask questions.
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
面試官提示
面試官出完題之后,笑了笑說提示一下哈,本題可以找規(guī)律。
朋友
做了一段時間之后,大部分寫出來了,但是還是有些細節(jié)沒考慮好。
解題思路
將這顆樹看成一個族譜,如果輸入的是一顆子樹的話,必須要有父親節(jié)點,比如 1, 3, 6,由于 6 沒有父親節(jié)點,所以輸出肯定是 F;如果只有兄弟節(jié)點的話,同樣輸出也是 F。
面試官問 你刷題的時候,最擅長刷哪種類型的題目,數(shù)組 or 鏈表 or 二叉樹 or 排序 or...?
朋友一想,最近自己刷 鏈表 的題目比較多,遞歸、迭代以及增加虛擬頭節(jié)點等等解法都掌握了,而且聽了慕課網(wǎng) liuyubobo 老師的算法課中的鏈表部分,于是自豪地說 鏈表。
面試官說 那就看看鏈表的算法題吧。
朋友露出笑容問道 面試官,你不會出一道 hard 的鏈表題吧?
面試官哈哈大笑,答道 我還是有節(jié)操的,不會坑你的,不過如果你通過了這一面,下一面的算法題估計比較難。
說完面試官出題了。
3.3 面試題三
給定一個單鏈表,在鏈表中把 L 個節(jié)點到 R 個節(jié)點這一部分進行反轉(zhuǎn)。 示例1: 輸入 [1, 2, 3, 4, 5] 1, 3 輸出 {3, 2, 1, 4, 5}
朋友一看,面露喜色,這么簡單的,而且這不跟力扣中某道題類似嘛?
面試官好像看出來啥了,笑著問 你如果做過這道題的話,你就說做過,我再給你換道題。
朋友答道 確實做過,哈哈。
面試官開始換題(出題)。
3.4 面試題四
將一個鏈表 m 位置到 n 位置之間的區(qū)間反轉(zhuǎn),要求時間復(fù)雜度,空間復(fù)雜度。 例如: 給出的鏈表為 1->2->3->4->5->NULL,返回 1->4->3->2->5->NULL. 注意: 給出的滿足一下條件: 1 ≤ m ≤ n ≤ 鏈表長度。
朋友一看,笑了,心想這不就是 leetcode 92. 反轉(zhuǎn)鏈表 II 的原題嘛?于是乎很誠實地跟面試官說 這題我做過。
面試官面露微笑,說 繼續(xù)換題,不過不用擔(dān)心,我不坑你,做一道合并兩個排序鏈表的題。
朋友聽到 合并兩個排序數(shù)組,心中一頓竊喜,這不還是 leetcode 原題嘛?
3.5 面試題五
合并排序數(shù)組 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)
面試官果真不坑人,笑著說我提示一下哈 為了簡單一點,這道題你可以不用考慮這兩個鏈表中有相同值得節(jié)點。
朋友一想,這不簡單嘛,力扣中已經(jīng)刷過原題(合并兩個已升序排列的鏈表),這道題只需要 把鏈表 B 反轉(zhuǎn)一下,這是鏈表 B 就有序了,這樣不就跟力扣的原題完全一毛一樣了嘛,心中一頓竊喜,于是刷刷刷地寫完了。
面試官看了看,說 如果鏈表 B 中的最后一個節(jié)點的值都大于鏈表 A 的最后一個節(jié)點的值呢?如果鏈表 B 中的第一個節(jié)點的值都小于鏈表 A 的第一個節(jié)點的值呢?
朋友想了想,好像也是,還要考慮 鏈表 B 中每個節(jié)點的值放到鏈表 A 中的什么位置,這還得遍歷整個鏈表 B 和 鏈表 A,并跟面試官說了。
面試官說這就是本題的難點。
解題思路
考慮幾種特殊情況。
1、鏈表 A 和鏈表 B 都為空,直接返回即可。
2、鏈表 A 不為空,鏈表 B 為空,直接返回鏈表 A。
3、鏈表 A 為空,鏈表 B 不為空,翻轉(zhuǎn)鏈表 B 并返回翻轉(zhuǎn)后的鏈表 B。
4. If neither linked list A nor linked list B is empty, traverse linked list A and linked list B and insert the nodes in linked list B (from back to front) into linked list A, and record the insertion position. .
The interviewer smiled and said This question is actually meant to bully those of you who are already working. Those students who have time can answer the questions every day and become very proficient.
Summary
This interview, "Divide and Conquer Thought"There are many exams. A programming question can often be divided into several simple small programming questions. Only these small programming questions Only after you can learn AC can you combine them into big questions AC.
The above is the detailed content of Several questions to determine whether you can enter Byte. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

As a programming language that has become very popular in recent years, Go language has become a hot spot for interviews in many companies and enterprises. For beginners of the Go language, how to answer relevant questions during the interview process is a question worth exploring. Here are five common Go language interview questions and answers for beginners’ reference. Please introduce how the garbage collection mechanism of Go language works? The garbage collection mechanism of the Go language is based on the mark-sweep algorithm and the three-color marking algorithm. When the memory space in the Go program is not enough, the Go garbage collector

As a well-known programming learning website, php Chinese website has compiled some React interview questions for you to help front-end developers prepare and clear React interview obstacles.

This article summarizes some selected Web front-end interview questions worth collecting (with answers). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

This article will share with you 50 Angular interview questions that you must master. It will analyze these 50 interview questions from three parts: beginner, intermediate and advanced, and help you understand them thoroughly!

This article summarizes for you some selected vue high-frequency interview questions in 2023 (with answers) worth collecting. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

High concurrency is an experience that almost every programmer wants to have. The reason is simple: as traffic increases, various technical problems will be encountered, such as interface response timeout, increased CPU load, frequent GC, deadlock, large data storage, etc. These problems can promote our Continuous improvement in technical depth.

This article compiles and shares 28 PHP interview questions (with answers to share) to help you sort out the basic knowledge. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

10 questions every day. After 100 days, you will have mastered all the high-frequency knowledge points of front-end interviews. Come on! ! ! , while reading the article, I hope you don’t look at the answer directly, but first think about whether you know it, and if so, what is your answer? Think about it and then compare it with the answer. Would it be better? Of course, if you have a better answer than mine, please leave a message in the comment area and discuss the beauty of technology together.