Table des matières
1 Description du poste
Quel est le processus ? C'est la première fois que je participe à l'interview de Byte" >Mon ami était confus car il n'avait jamais participé à l'interview de Byte auparavant et a demandé Quel est le processus ? C'est la première fois que je participe à l'interview de Byte
L'intervieweur exige que " >L'intervieweur exige que
Ami" >Ami
Idées de résolution de problèmes (examiner principalement des points de connaissance tels que :) " >Idées de résolution de problèmes (examiner principalement des points de connaissance tels que :)
3.2 面试题二" >3.2 面试题二
面试官提示" >面试官提示
朋友" >朋友
解题思路" >解题思路
3.3 面试题三" >3.3 面试题三
3.4 面试题四" >3.4 面试题四
3.5 面试题五" >3.5 面试题五
Maison Problème commun Plusieurs questions pour déterminer si vous pouvez saisir Byte

Plusieurs questions pour déterminer si vous pouvez saisir Byte

Aug 25, 2023 pm 03:48 PM
面试题

1 Description du poste

  • Responsable de la conception et du développement de systèmes et de produits de sécurité pour les secteurs d'activité de ByteDance (dont Toutiao, Douyin, Huoshan, etc.)
  • Amélioration des capacités de sécurité des outils automatisés au sein la plateforme
  • Responsable de la conception et du développement de modules et composants de sécurité générale pour Toutiao, Douyin, Huoshan et d'autres produits

2 Exigences du poste

  1. Baccalauréat ou supérieur
  2. Maîtrise de Plateformes Linux/Mac/Windows Diverses compétences en développement
  3. Maîtrise d'un ou plusieurs des langages suivants, Java/Python / Go / C++, etc.
  4. Familier avec les algorithmes et structures de données courants, familier avec la programmation réseau, technologie de programmation multithread
  5. Bon pour apprendre et appliquer de nouvelles connaissances, avec de bonnes compétences analytiques et de résolution de problèmes
  6. Avoir un bon esprit de travail d'équipe et une conscience proactive de la communication

Points supplémentaires

  1. Avoir une expérience en matière de développement de produits de sécurité est préférable lieu de travail
  2. Après cela, il a dit
  3. Vous devriez comprendre le processus d'entretien de Byte, n'est-ce pas ?

Mon ami était confus car il n'avait jamais participé à l'interview de Byte auparavant et a demandé Quel est le processus ? C'est la première fois que je participe à l'interview de Byte

.

L'intervieweur a répondu : Posons d'abord quelques questions sur l'algorithme. Il semble que votre CV indique que vous avez posé beaucoup de questions percutantes, alors écrivons une question simple en guise d'apéritif.

Puis l'intervieweur a commencé à poser des questions.

Mon ami (qui a entendu dire que les questions sur l'algorithme d'octets ne sont pas faciles auparavant) s'est dit C'est quoi ce bordel, tes questions simples ne sont pas particulièrement difficiles, n'est-ce pas ?

3.1 Question de programmation 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"
假设没有任何前缀;
假设参数都正确;
假设参数都是非负数
Copier après la connexion

L'intervieweur exige que

soit complété dans les 20 minutes, le plus vite sera le mieux, tous les cas de test doivent être réussis et le code est aussi concis que possible.

Ami

Je n'ai pas répondu à ce genre de question depuis longtemps. Après avoir vu la question, Je n'ai pas réfléchi clairement, L'opération a été aussi féroce qu'un tigre, ce qui m'a empêché d'avoir moins de détails qui tournent mal.

Idées de résolution de problèmes (examiner principalement des points de connaissance tels que :)

1. 3. Implémentation de la fonction itoa d'entier en chaîne.

Une question de base en apparence simple, mais elle examine beaucoup de choses et nécessite

d'adopter l'idée de "diviser pour régner"

.

Mon ami a dit à l'intervieweur Je brosse habituellement leetcode, mais du coup je me sens mal à l'aise d'écrire ce genre de question. L'intervieweur a répondu Ensuite, regardons une question similaire à laquelle il est très difficile de répondre.

L'intervieweur a commencé à poser des 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
Copier après la connexion

面试官提示

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

朋友

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

解题思路

将这颗树看成一个族谱,如果输入的是一颗子树的话,必须要有父亲节点,比如 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}
Copier après la connexion

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

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

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

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

3.4 面试题四

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

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

注意:
给出的满足一下条件:
1 ≤ m ≤ n ≤ 链表长度。
Copier après la connexion


朋友一看,笑了,心想这不就是 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)
Copier après la connexion

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

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

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

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

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

解题思路

考虑几种特殊情况。

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

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

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

4. Ni la liste chaînée A ni la liste chaînée B ne sont vides. Parcourez la liste chaînée A et la liste chaînée B et insérez les nœuds de la liste chaînée B (de l'arrière vers l'avant) dans la liste chaînée A, et enregistrez la position d'insertion.

L'intervieweur a dit avec un sourire Cette question est en fait destinée à intimider ceux d'entre vous qui travaillent déjà. Les étudiants qui ont le temps peuvent répondre aux questions tous les jours et devenir très compétents.

Résumé

Dans cette interview, "Divide and Conquer Thinking" Une question de programmation peut souvent être divisée en plusieurs petites questions de programmation simples. Ce n’est qu’une fois que ces petits problèmes de programmation peuvent être résolus qu’ils peuvent être combinés en de grands problèmes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cinq questions et réponses courantes en matière d'entretien en langage Go Cinq questions et réponses courantes en matière d'entretien en langage Go Jun 01, 2023 pm 08:10 PM

En tant que langage de programmation devenu très populaire ces dernières années, le langage Go est devenu un point chaud pour les entretiens dans de nombreuses entreprises. Pour les débutants du langage Go, comment répondre aux questions pertinentes lors du processus d’entretien est une question qui mérite d’être explorée. Voici cinq questions et réponses courantes d’entretien en langage Go pour référence pour les débutants. Veuillez présenter comment fonctionne le mécanisme de récupération de place du langage Go ? Le mécanisme de récupération de place du langage Go est basé sur l'algorithme de balayage de marque et l'algorithme de marquage à trois couleurs. Lorsque l'espace mémoire du programme Go n'est pas suffisant, le garbage collector Go

Résumé des questions d'entretien React front-end en 2023 (Collection) Résumé des questions d'entretien React front-end en 2023 (Collection) Aug 04, 2020 pm 05:33 PM

En tant que site Web d'apprentissage de la programmation bien connu, le site Web chinois php a compilé pour vous des questions d'entretien React afin d'aider les développeurs front-end à préparer et à éliminer les obstacles aux entretiens React.

Une collection complète de questions et réponses d'entretien Web front-end sélectionnées en 2023 (Collection) Une collection complète de questions et réponses d'entretien Web front-end sélectionnées en 2023 (Collection) Apr 08, 2021 am 10:11 AM

Cet article résume certaines questions d'entretien Web frontales sélectionnées qui méritent d'être collectées (avec réponses). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

50 questions d'entretien angulaires que vous devez maîtriser (Collection) 50 questions d'entretien angulaires que vous devez maîtriser (Collection) Jul 23, 2021 am 10:12 AM

Cet article partagera avec vous 50 questions d'entretien Angular qu'il faut maîtriser. Ces 50 questions d'entretien seront analysées en trois parties : débutant, intermédiaire et avancé, et vous aideront à bien les comprendre !

Intervieweur : Que savez-vous de la haute simultanéité ? Moi : euh... Intervieweur : Que savez-vous de la haute simultanéité ? Moi : euh... Jul 26, 2023 pm 04:07 PM

La haute concurrence est une expérience que presque tous les programmeurs souhaitent vivre. La raison est simple : à mesure que le trafic augmente, nous rencontrerons divers problèmes techniques, tels qu'un délai de réponse de l'interface, une charge CPU accrue, des GC fréquents, des blocages, un stockage de données volumineux, etc.

Partage des questions d'entretien à haute fréquence Vue en 2023 (avec analyse des réponses) Partage des questions d'entretien à haute fréquence Vue en 2023 (avec analyse des réponses) Aug 01, 2022 pm 08:08 PM

Cet article résume pour vous quelques questions d'entretien à haute fréquence sélectionnées en 2023 (avec réponses) qui valent la peine d'être collectées. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Jetez un œil à ces questions d'entretien préliminaires pour vous aider à maîtriser les points de connaissances à haute fréquence (4) Jetez un œil à ces questions d'entretien préliminaires pour vous aider à maîtriser les points de connaissances à haute fréquence (4) Feb 20, 2023 pm 07:19 PM

10 questions par jour. Après 100 jours, vous maîtriserez tous les points de connaissances à haute fréquence des entretiens front-end. ! ! , en lisant l'article, j'espère que vous ne regardez pas directement les réponses, mais demandez-vous d'abord si vous le savez, et si oui, quelle est votre réponse ? Pensez-y et comparez-la avec la réponse. Serait-ce mieux ? Bien sûr, si vous avez une meilleure réponse que la mienne, veuillez laisser un message dans la zone de commentaire et discuter ensemble de la beauté de la technologie.

Jetez un œil à ces questions d'entretien préliminaires pour vous aider à maîtriser les points de connaissances à haute fréquence (5) Jetez un œil à ces questions d'entretien préliminaires pour vous aider à maîtriser les points de connaissances à haute fréquence (5) Feb 23, 2023 pm 07:23 PM

10 questions par jour. Après 100 jours, vous maîtriserez tous les points de connaissances à haute fréquence des entretiens front-end. ! ! , en lisant l'article, j'espère que vous ne regardez pas directement la réponse, mais demandez-vous d'abord si vous la connaissez, et si oui, quelle est votre réponse ? Pensez-y et comparez-la avec la réponse. Serait-ce mieux ? Bien sûr, si vous avez une meilleure réponse que la mienne, veuillez laisser un message dans la zone de commentaire et discuter ensemble de la beauté de la technologie.