fix: Added temporary mocks for vacancies.
This commit is contained in:
parent
bad3c8f6c6
commit
c7021ee023
@ -4,54 +4,171 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
|
|
||||||
pbVC "gitea.cybertalant.ru/VisionCareerMiniapp/DataManagemet/pb/golang"
|
pbVC "gitea.cybertalant.ru/VisionCareerMiniapp/DataManagemet/pb/golang"
|
||||||
"gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/constants"
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/credentials/insecure"
|
|
||||||
"google.golang.org/grpc/metadata"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type grpcClient struct {
|
type grpcClient struct {
|
||||||
apiKey string
|
apiKey string
|
||||||
conn *grpc.ClientConn
|
// conn *grpc.ClientConn
|
||||||
vсClient pbVC.VisionCareerApiServiceV1Client
|
// vсClient pbVC.VisionCareerApiServiceV1Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *grpcClient) Close() error {
|
func (t *grpcClient) Close() error {
|
||||||
return t.conn.Close()
|
// return t.conn.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *grpcClient) GetUserVacancies(ctx context.Context, in *pbVC.GetUserVacanciesRequest, opts ...grpc.CallOption) (*pbVC.GetUserVacanciesResponse, error) {
|
func (t *grpcClient) GetUserVacancies(ctx context.Context, in *pbVC.GetUserVacanciesRequest, opts ...grpc.CallOption) (*pbVC.GetUserVacanciesResponse, error) {
|
||||||
// Append api key to Meta-data
|
// // Append api key to Meta-data
|
||||||
md := metadata.Pairs(constants.APIKey.String(), t.apiKey)
|
// md := metadata.Pairs(constants.APIKey.String(), t.apiKey)
|
||||||
ctx = metadata.NewOutgoingContext(ctx, md)
|
// ctx = metadata.NewOutgoingContext(ctx, md)
|
||||||
|
|
||||||
return t.vсClient.GetUserVacancies(ctx, in, opts...)
|
// return t.vсClient.GetUserVacancies(ctx, in, opts...)
|
||||||
|
return &pbVC.GetUserVacanciesResponse{
|
||||||
|
Status: "success",
|
||||||
|
Items: []string{
|
||||||
|
"THIS IS MOCKS",
|
||||||
|
`
|
||||||
|
ЗП: до 500 000 рублей net
|
||||||
|
Penetration Tester – Red Team, Wildberries & Russ 💜
|
||||||
|
Уровень: Middle/Senior
|
||||||
|
Формат: удаленка или гибрид
|
||||||
|
📭 Вместе с масштабным развитием IT направления Wildberries и Russ развивает информационную безопасность. Мы решаем сложные и разнообразные задачи: от повышения защищенности каждого сервиса до развития безопасности в рамках всей нашей инфраструктуры. Сейчас мы в поиске опытного Penetration Tester в Red Team. Команда занимается проведением аудитов безопасности инфраструктуры, продуктов и сервисов в различных форматах (тестирования на проникновение, анализ защищенности, кибер-учения).
|
||||||
|
|
||||||
|
📝 Ключевые задачи:
|
||||||
|
• Проведение аудитов в формате тестирования на проникновение (внешняя и внутренняя инфраструктура, социалка)
|
||||||
|
|
||||||
|
• Проведение аудитов в формате анализа защищенности (веб и мобильные приложения)
|
||||||
|
• Проведение аудитов в формате Red/Purple Teaming
|
||||||
|
• Поиск и эксплуатация уязвимостей веб и мобильных приложений
|
||||||
|
• Поиск и эксплуатация уязвимостей и недостатков конфигурации ОС Linux а также специфичных для нее сервисов
|
||||||
|
• Поиск и эксплуатация уязвимостей OC Windows и недостатков конфигурации Active Directory
|
||||||
|
• Поиск и эксплуатация уязвимостей и недостатков конфигурации СУБД, систем виртуализации и контейнеризации
|
||||||
|
• Оформление найденных уязвимостей для отчетов по итогам проектов
|
||||||
|
💫 Основные требования:
|
||||||
|
• Опыт проведения проектов по анализу защищенности веб и мобильных приложений
|
||||||
|
|
||||||
|
• Опыт проведения проектов по тестированию на проникновение (внешняя и внутренняя инфраструктура)
|
||||||
|
• Опыт поиска и эксплуатации уязвимостей веб и мобильных приложений
|
||||||
|
• Опыт поиска и эксплуатации уязвимостей ОС Linux
|
||||||
|
• Опыт поиска и эксплуатации уязвимостей OC Windows и недостатков конфигурации AD
|
||||||
|
• Опыт поиска и эксплуатации уязвимостей и недостатков конфигурации систем виртуализации и контейнеризации
|
||||||
|
• Знание любого языка программирования на уровне достаточном для понимания/создания эксплойтов и автоматизации задач по поиску уязвимостей
|
||||||
|
❤️ Будет плюсом:
|
||||||
|
• Образование (бакалавр, магистр) в одном из технических вузов РФ (МИФИ, МГТУ им. Баумана, МГУ)
|
||||||
|
|
||||||
|
• Наличие профильных сертификатов (OSCP, OSWE, OSEP, CRTO)
|
||||||
|
• Выступления на крупных конференциях и митапах, например PHDays, OffZone, Standoff и других
|
||||||
|
• Участие в CTF и Bug Bounty
|
||||||
|
🔥 Что мы предлагаем:
|
||||||
|
|
||||||
|
• Полная удаленка или гибрид с офисами в Москве и Санкт-Петербурге
|
||||||
|
• IT-ипотека и оформление в аккредитованную IT-компанию
|
||||||
|
• Бесплатное питание в офисах, ДМС со стоматологией (после испытательного срока)
|
||||||
|
• Корпоративное обучение и IT-мероприятия
|
||||||
|
|
||||||
|
💘 Контакты: @alina_velbik
|
||||||
|
`,
|
||||||
|
`
|
||||||
|
Вакансии в информационную безопасность Точка Банк
|
||||||
|
|
||||||
|
Точка Банк — IT-компания, мы создаём онлайн-банк и другие сервисы для бизнеса. Ими пользуются более 700 000 клиентов, а создают больше 5 000 сотрудников.
|
||||||
|
|
||||||
|
Администратор ИБ
|
||||||
|
|
||||||
|
📍От 180 000 ₽ до вычета налогов. Удалёнка, офис или гибрид — как тебе удобнее.
|
||||||
|
|
||||||
|
Что делать:
|
||||||
|
— Сопровождать и администрировать средства защиты информации: NGFW, 2FA, VPN, WAF, AV, СКЗИ, SIEM, DLP, antiDDoS.
|
||||||
|
— Оперативно реагировать на задачи ИБ: согласовывать доступы и проверять соответствие ПО, сервисов и процессов требованиям.
|
||||||
|
— Проводить регулярные контроли и аудиты системы информационной безопасности.
|
||||||
|
|
||||||
|
Ты подойдёшь, если:
|
||||||
|
— Есть опыт работы администратором ИБ от 1 года.
|
||||||
|
— Есть опыт администрирования основных средств защиты: DLP, SIEM, FW, AV, VPN.
|
||||||
|
|
||||||
|
Бизнес-партнёр по ИБ
|
||||||
|
|
||||||
|
📍От 300 000 ₽ до вычета налогов. Удалёнка, офис или гибрид — как тебе удобнее.
|
||||||
|
|
||||||
|
Что делать:
|
||||||
|
— Анализировать соответствие архитектуры IT-решений требованиям ИБ.
|
||||||
|
— Выявлять и оценивать возможные риски.
|
||||||
|
— Отслеживать выполнение мер при релизе продуктов.
|
||||||
|
— Экспертно сопровождать проектные и бизнес-команды по вопросам ИБ.
|
||||||
|
|
||||||
|
Ты подойдёшь, если:
|
||||||
|
— Есть опыт работы в банковской сфере от трёх лет на схожей позиции.
|
||||||
|
— Знаешь требования законодательства и Банка России (716-П, 821-П, 683-П, 787-П) и умеешь применять их на практике.
|
||||||
|
— Разбираешься в микросервисной и монолитной архитектуре, облаках и виртуализации.
|
||||||
|
`,
|
||||||
|
`
|
||||||
|
😎 Вакансия: Инженер по сетевой безопасности
|
||||||
|
Компания: Авито
|
||||||
|
График: можно удаленно
|
||||||
|
Локация: Москва, Нижний Новгород
|
||||||
|
|
||||||
|
Наша команда обеспечивает защиту и надежность всех продуктов Авито, технологической платформы и офисной инфраструктуры, а также занимается развитием собственного решения сетевой безопасности.
|
||||||
|
Мы ищем инженера по сетевой безопасности, имеющего опыт работы в проектах сетевой сегментации.
|
||||||
|
|
||||||
|
Вам предстоит:
|
||||||
|
• Внедрение и развитие сегментации сетевой инфраструктуры (host based firewall, k8s);
|
||||||
|
• Повышать защищенность офисной и корпоративной сети;
|
||||||
|
• Аудит сетевых правил;
|
||||||
|
• Консультация команд инфраструктуры по вопросам безопасности сети;
|
||||||
|
• Планирование и реализация мер защиты инфраструктуры от сетевых атак.
|
||||||
|
|
||||||
|
Мы ждём, что вы:
|
||||||
|
• Имеете опыт работы по направлению сетевой безопасности;
|
||||||
|
• Имеете экспертные познания и опыт работы с современными Unix-like операционными системами;
|
||||||
|
• Обладаете уверенными знаниями сетевых протоколов и принципов построения IP сетей;
|
||||||
|
• Разбираетесь в сетевых атаках и способах защиты от них;
|
||||||
|
• Готовы вести проекты самостоятельно.
|
||||||
|
Будет здорово, если вы:
|
||||||
|
- Работали с системами анализа данных;
|
||||||
|
- Знакомы с системами оркестрации контейнеров. Мы используем Kubernetes;
|
||||||
|
- Автоматизировали свою работу с помощью Bash\Python\Golang.
|
||||||
|
|
||||||
|
Работа у нас — это:
|
||||||
|
– возможность реализовать свои идеи в проекте с многомиллионной аудиторией;
|
||||||
|
– талантливая команда, готовая поддержать ваши инициативы;
|
||||||
|
– прозрачная система бонусов и премий, достойная зарплата — размер обсудим на собеседовании;
|
||||||
|
– обучение за счет компании: мы оплачиваем участие в российских и международных конференциях, профильные курсы и доступ к онлайн-библиотеке МИФ, покупаем нужную для роста и развития литературу;
|
||||||
|
– комфортные условия работы: ДМС с первых дней работы, фитнес, компенсация питания;
|
||||||
|
– красивый и комфортный офис в 2 минутах от метро «Белорусская», а также возможность работать удалённо.
|
||||||
|
|
||||||
|
Откликнуться: clc.to/xQjvew
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *grpcClient) UpsertUserData(ctx context.Context, in *pbVC.UpsertUserDataRequest, opts ...grpc.CallOption) (*pbVC.UpsertUserDataResponse, error) {
|
func (t *grpcClient) UpsertUserData(ctx context.Context, in *pbVC.UpsertUserDataRequest, opts ...grpc.CallOption) (*pbVC.UpsertUserDataResponse, error) {
|
||||||
// Append api key to Meta-data
|
// // Append api key to Meta-data
|
||||||
md := metadata.Pairs(constants.APIKey.String(), t.apiKey)
|
// md := metadata.Pairs(constants.APIKey.String(), t.apiKey)
|
||||||
ctx = metadata.NewOutgoingContext(ctx, md)
|
// ctx = metadata.NewOutgoingContext(ctx, md)
|
||||||
|
|
||||||
return t.vсClient.UpsertUserData(ctx, in, opts...)
|
// return t.vсClient.UpsertUserData(ctx, in, opts...)
|
||||||
|
return &pbVC.UpsertUserDataResponse{
|
||||||
|
Status: "success",
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init : Инициализирует общий gRPC клиент
|
// Init : Инициализирует общий gRPC клиент
|
||||||
func Init(addr, apiKey string) (*grpcClient, error) {
|
func Init(addr, apiKey string) (*grpcClient, error) {
|
||||||
// Открытие соединения
|
// Открытие соединения
|
||||||
conn, err := grpc.Dial(
|
// conn, err := grpc.Dial(
|
||||||
addr,
|
// addr,
|
||||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
// grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||||
grpc.WithBlock(),
|
// grpc.WithBlock(),
|
||||||
)
|
// )
|
||||||
|
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return nil, err
|
// return nil, err
|
||||||
}
|
// }
|
||||||
// Инициализация gRPC клиентов
|
// Инициализация gRPC клиентов
|
||||||
return &grpcClient{
|
return &grpcClient{
|
||||||
apiKey: apiKey,
|
apiKey: apiKey,
|
||||||
conn: conn,
|
// conn: conn,
|
||||||
vсClient: pbVC.NewVisionCareerApiServiceV1Client(conn),
|
// vсClient: pbVC.NewVisionCareerApiServiceV1Client(conn),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user