Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Latest Threads
3rd times the charm! PASS...
Forum: CCNP ENCOR 350-401 Forum
Last Post: sgtwardo
Yesterday, 06:20 PM
» Replies: 2
» Views: 3,544
QID:AN1000
Forum: Answer this question
Last Post: help_desk
10-17-2025, 10:47 AM
» Replies: 1
» Views: 148
QID:AND84
Forum: Answer this question
Last Post: help_desk
10-16-2025, 09:38 AM
» Replies: 1
» Views: 170
CML YAML Files - Not work...
Forum: CCNP ENCOR 350-401 Forum
Last Post: help_desk
10-11-2025, 12:15 PM
» Replies: 1
» Views: 304
Passed ENSARI - My Recomm...
Forum: CCNP ENARSI 300-410 Forum
Last Post: chewosaurus
10-06-2025, 02:26 PM
» Replies: 1
» Views: 1,072
How2Pass 200-201 CBROPS C...
Forum: Cybersecurity Associate - CBROPS 200-201 Forum
Last Post: forumsupport
10-05-2025, 06:32 PM
» Replies: 0
» Views: 211
CCNP 300-101 Questions
Forum: General Discussion
Last Post: ncc16ncc
10-03-2025, 10:31 AM
» Replies: 6
» Views: 22,069
Missing pka file 802.1Q T...
Forum: Answer this question
Last Post: help_desk
09-29-2025, 11:36 AM
» Replies: 1
» Views: 681
IPv4 and IPv6 Assignment ...
Forum: Answer this question
Last Post: help_desk
09-29-2025, 11:21 AM
» Replies: 1
» Views: 689
PBR and Redistribution Si...
Forum: CCNP ENARSI 300-410 Forum
Last Post: greaterzen1
09-24-2025, 04:47 PM
» Replies: 0
» Views: 1,013

 
  Passed Exam
Posted by: support - 10-02-2024, 04:43 PM - Forum: CCNP ENCOR 350-401 Forum - Replies (1)

I passed the exam today and thanks to How2Pass. I spent months preparing for this exam. Get a good book, read it and then use How2Pass to prepare. Please go through all the simulations here for they were very helpful.

Print this item

  Planning to take 350-401 in a week
Posted by: brownhorse - 09-24-2024, 04:14 PM - Forum: CCNP ENCOR 350-401 Forum - Replies (1)

I am planning to take 350-401 in a week. are exam Qs upto date with correct answers? I am seeing lot of incorrect answers based on previous threads here.

Print this item

  IP Connectivity - QID:AN549
Posted by: kfav85 - 09-08-2024, 09:27 PM - Forum: General - Replies (1)

The next hop routes do not match the choices given. The routing table shows 10.145.20. and the choices show 10.165.20.

Print this item

  Randomize Multiple Choice Questions
Posted by: jupertino - 09-08-2024, 04:27 PM - Forum: CCNP ENARSI 300-410 Forum - No Replies

Hi everyone, so I had a problem - I found that I was memorizing the position of the answer, rather than the answer itself. As a result, I'd like to share a script I made that randomizes order of the answers in the multiple choice questions. You'll need to download a chrome plugin to use it, and I never encourage anyone to copy code off of the internet without reading it manually first. Please read the code for yourself, it's very short. 

This script does the following:

It selects all elements with the class quesContainer, which corresponds to your question containers.
For each question, it selects all <p> elements, which contain the answer options.
It shuffles the order of these options.
Finally, it re-appends the shuffled options back to the question container.

1. Install the Tampermonkey extension for Chrome (if you haven't already).
2. Open Tampermonkey in Chrome and create a new script.
3. paste the script (after you've vetted it) into the script editor.
4. Save the script.
5. Go to chrome://extensions/ and click "developer mode" on the top right in order to enable script injection. Mine didn't work until I did this. 

Script is below:
---------------------------------------------------------------------------------------------------------------------------------------

// ==UserScript==
// @name         Improved Randomize Multiple Choice Options for How2Pass
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  Randomize the order of multiple choice options for How2Pass website with improved logging
// @match        https://www.how2pass.com/emembers/enarsi...linetest/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let hasRun = false;

    function shuffleArray(array) {
        for (let i = array.length - 1; i > 0; i--) {
            const j = Math.floor(Math.random() * (i + 1));
            [array[i], array[j]] = [array[j], array[i]];
        }
    }

    function randomizeOptions() {
        if (hasRun) {
            console.log("Script has already run once, skipping...");
            return;
        }

        console.log("Starting randomization process...");
        const questions = document.querySelectorAll('.quesContainer');
        console.log(`Found ${questions.length} questions`);

        questions.forEach((question, index) => {
            const options = Array.from(question.querySelectorAll('p > label.black'));
            console.log(`Question ${index + 1} has ${options.length} options`);

            if (options.length > 0) {
                const optionsContainer = options[0].parentNode.parentNode;
                const originalOrder = options.map(opt => opt.textContent.trim());
                console.log(`Original order for Q${index + 1}:`, originalOrder);

                shuffleArray(options);
                options.forEach(option => optionsContainer.appendChild(option.parentNode));

                const newOrder = Array.from(question.querySelectorAll('p > label.black')).map(opt => opt.textContent.trim());
                console.log(`New order for Q${index + 1}:`, newOrder);

                if (JSON.stringify(originalOrder) !== JSON.stringify(newOrder)) {
                    console.log(`Question ${index + 1} options were successfully randomized`);
                } else {
                    console.log(`Warning: Question ${index + 1} options remained in the same order`);
                }
            } else {
                console.log(`No options found for question ${index + 1}`);
            }
        });

        console.log("Randomization process complete");
        hasRun = true;
    }

    // Wait for the page to load and then run the script
    window.addEventListener('load', function() {
        console.log("Page loaded, waiting 3 seconds before randomizing...");
        setTimeout(randomizeOptions, 3000);
    });
})();

---------------------------------------------------------------------------------------------------------------------------------------

Line-by-Line Explanation of the Multiple-Choice Randomizer Script

---------------------------------------------------------------------------------------------------------------------------------------
[align=left]// ==UserScript==
// @name         Improved Randomize Multiple Choice Options for How2Pass
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  Randomize the order of multiple choice options for How2Pass website with improved logging
// @match        https://www.how2pass.com/emembers/enarsi...linetest/*
// @grant        none
// ==/UserScript==
---------------------------------------------------------------------------------------------------------------------------------------
This is the metadata block for Tampermonkey. It defines the script's name, version, description, and which websites it should run on.

---------------------------------------------------------------------------------------------------------------------------------------
(function() {
    'use strict';
---------------------------------------------------------------------------------------------------------------------------------------
This creates an Immediately Invoked Function Expression (IIFE) to avoid polluting the global scope. 'use strict' enables strict mode for better error catching.

---------------------------------------------------------------------------------------------------------------------------------------
let hasRun = false;
---------------------------------------------------------------------------------------------------------------------------------------
This variable keeps track of whether the script has already run to prevent multiple executions.

---------------------------------------------------------------------------------------------------------------------------------------
function shuffleArray(array) {
        for (let i = array.length - 1; i > 0; i--) {
            const j = Math.floor(Math.random() * (i + 1));
            [array[i], array[j]] = [array[j], array[i]];
        }
    }
---------------------------------------------------------------------------------------------------------------------------------------
This function implements the Fisher-Yates shuffle algorithm to randomize the order of elements in an array.

---------------------------------------------------------------------------------------------------------------------------------------
function randomizeOptions() {
        if (hasRun) {
            console.log("Script has already run once, skipping...");
            return;
        }
---------------------------------------------------------------------------------------------------------------------------------------
This is the main function that randomizes the options. It first checks if the script has already run to avoid repeated randomization.

---------------------------------------------------------------------------------------------------------------------------------------
console.log("Starting randomization process...");
        const questions = document.querySelectorAll('.quesContainer');
        console.log(`Found ${questions.length} questions`);
---------------------------------------------------------------------------------------------------------------------------------------
This logs the start of the process and finds all question containers on the page.

---------------------------------------------------------------------------------------------------------------------------------------
questions.forEach((question, index) => {
            const options = Array.from(question.querySelectorAll('p > label.black'));
            console.log(`Question ${index + 1} has ${options.length} options`);
---------------------------------------------------------------------------------------------------------------------------------------
For each question, this finds all the answer options and logs how many there are.

---------------------------------------------------------------------------------------------------------------------------------------
if (options.length > 0) {
                const optionsContainer = options[0].parentNode.parentNode;
                const originalOrder = options.map(opt => opt.textContent.trim());
                console.log(`Original order for Q${index + 1}:`, originalOrder);
---------------------------------------------------------------------------------------------------------------------------------------
If options are found, it stores the original order for logging purposes.

---------------------------------------------------------------------------------------------------------------------------------------
shuffleArray(options);
                options.forEach(option => optionsContainer.appendChild(option.parentNode));
---------------------------------------------------------------------------------------------------------------------------------------
This shuffles the options and reappends them to the container, effectively randomizing their order.

---------------------------------------------------------------------------------------------------------------------------------------
const newOrder = Array.from(question.querySelectorAll('p > label.black')).map(opt => opt.textContent.trim());
                console.log(`New order for Q${index + 1}:`, newOrder);
---------------------------------------------------------------------------------------------------------------------------------------
This logs the new order of options after randomization.

---------------------------------------------------------------------------------------------------------------------------------------
if (JSON.stringify(originalOrder) !== JSON.stringify(newOrder)) {
                    console.log(`Question ${index + 1} options were successfully randomized`);
                } else {
                    console.log(`Warning: Question ${index + 1} options remained in the same order`);
                }
---------------------------------------------------------------------------------------------------------------------------------------
This checks if the order actually changed and logs the result.

---------------------------------------------------------------------------------------------------------------------------------------
} else {
                console.log(`No options found for question ${index + 1}`);
            }
        });
---------------------------------------------------------------------------------------------------------------------------------------
If no options were found for a question, this logs a message.

---------------------------------------------------------------------------------------------------------------------------------------
console.log("Randomization process complete");
        hasRun = true;
    }
---------------------------------------------------------------------------------------------------------------------------------------
This logs the completion of the process and sets the hasRun flag to true.

---------------------------------------------------------------------------------------------------------------------------------------
window.addEventListener('load', function() {
        console.log("Page loaded, waiting 3 seconds before randomizing...");
        setTimeout(randomizeOptions, 3000);
    });
})();
---------------------------------------------------------------------------------------------------------------------------------------
This adds an event listener to run the randomization function 3 seconds after the page has fully loaded and closes the IIFE.
---------------------------------------------------------------------------------------------------------------------------------------



Let me know if you have any questions. I hope this helps anyone else!

Print this item

  Network Access - QID:AN303
Posted by: kfav85 - 09-08-2024, 03:24 PM - Forum: General - Replies (1)

Option 3 has a typo that needs to be corrected: Enable 802.1x Layer 2 security and set "me" Comeback timer to 10.

Print this item

  QID:AN461
Posted by: kfav85 - 09-08-2024, 03:05 PM - Forum: General - Replies (1)

The switches do not display MAC addresses to determine which switch becomes the root bridge.

Print this item

Lightbulb Packet Tracer Labs
Posted by: forumsupport - 09-06-2024, 08:36 PM - Forum: Site News & Issues - Replies (5)

We are adding the Packet Tracer Activity-based Lab Simulations to our CCNA 200-301 product. Please use this thread to post any issues/comments about these labs.

Print this item

  OSPF Configuration Sim #3
Posted by: djwalker1 - 09-06-2024, 02:59 PM - Forum: Answer this question - Replies (1)

The instructions are not correct for this lab. It seems they are for  OSPF Configuration Sim #2. It makes mention of a switch but there is not a switch in the topology simulation.

Print this item

  QID:AN420
Posted by: kfav85 - 09-05-2024, 05:00 PM - Forum: General - Replies (1)

The exhibit shows that the switch has a mac address table entry for PC1 but on port Fa0/2 not Fa0/1, which is where it is connected on the switch. PC2 is connected to Fa0/2. So the question is kind of misleading. Shouldn't the table show Fa0/1 as the port for PC1's dynamically learned mac address?

Print this item

Photo QID:AN819 Network Access
Posted by: kfav85 - 09-05-2024, 01:35 PM - Forum: General - Replies (1)

Which interface is used to send traffic to the destination?

No exhibit button exists to fully understand the question.

Print this item